2014-12-09 14 views
5

Sto iniziando con Heroku e ho una webapp che ha una parte che deve essere eseguita una volta alla settimana (preferibilmente il lunedì). Avevo letto qualcosa sui lavoratori: here e here e here ... Ma ho ancora molti dubbi:Lavoratori di Heroku per node.js

1) Questo lavoratori, corre su sfondo senza uno stretto controllo, riesco a essere programmato per eseguire una volta alla settimana . o mi sbaglio? Se ho torto, come posso programmarlo?

2) Per far sì che funzionino, cosa devo fare esattamente? Tipo

web:  node webApp.js 
worker: node worker.js 

nel Procfile (dove worker.js è la parte del programma che deve essere eseguito solo una volta a settimana). E questo è tutto ?? nient'altro?? così facile??

3) E l'ultimo ... ma il più importante. La "materia squamosa di denaro" ... Un banco è uguale a un lavoratore, quindi se hai un banco prova per il web devi comprarne un altro per il lavoratore ... no? E sulla lista dei prezzi un ulteriore extra costa 34,5 $ (27,87 €). Non è economico ... quindi voglio sapere se ho ragione, è necessario acquistare un banco se vuoi gestire un lavoratore?

risposta

4

È possibile che il componente aggiuntivo Heroku Scheduler (https://devcenter.heroku.com/articles/scheduler) sia un'opzione a basso costo 'abbastanza buona'. Ti vengono addebitate le ore in cui vengono eseguite le attività pianificate, quindi se hai un lavoro regolare che richiede solo un breve periodo di tempo, la procedura sarà molto più economica di un processo continuo.

Non è flessibile per quanto riguarda la pianificazione come altre opzioni. Può essere impostato per eseguire un'attività in un momento specifico ogni giorno o ogni ora. Pertanto, se è necessario eseguire l'attività dire solo il lunedì, è necessario eseguire quotidianamente lo scheduler, quindi controllare il giorno entro il worker.js e uscire immediatamente in altri giorni.