Desidero eseguire un task ogni minuto su Heroku per verificare se le condizioni sono soddisfatte per il timeout di determinate attività utente. Posso eseguire solo un cron job Heroku ogni ora, quindi qual è il modo migliore per impostare un'attività temporizzata come questa. Sto usando Rails 3.1 su Heroku.pianifica un lavoro ogni minuto Rails 3.1 su Heroku
risposta
È possibile utilizzare delayed_job con un processo di riavvio automatico con :run_at
. Qualcosa di un po 'come questo:
class YourJob
def do_interesting_things
#... Do what needs to be done.
self.delay(:run_at => 1.minute.from_now).do_interesting_things
end
def self.start_me_up
new.do_interesting_things
end
end
E poi da qualche parte durante l'inizializzazione dell'applicazione:
YourJob.start_me_up
A partire da oggi, è possibile la gemma di pianificazione, clockwork. Heroku supporta ufficialmente questo e puoi trovare la loro documentazione here.
Fantastico grazie –
Basta notare che [orologio] (https://devcenter.heroku.com/articles/clock-processes-ruby) richiede un banco di prova, quindi costerà lo stesso di qualsiasi altro tipo di dyno ($ 0,05 all'ora, fatturabile al secondo - circa ** $ 35/mese **). Coloro che * non * richiedono una programmazione "ogni minuto", ma stanno bene con * ogni 10 minuti *, * ogni ora * o * ogni giorno (in un momento specifico) *, quindi considerano [Heroku Scheduler] (https : //addons.heroku.com/scheduler), un componente aggiuntivo gratuito. – user664833
Un'altra limitazione di clockwork è che può essere eseguito solo su un singolo banco di prova, quindi se si ha un lavoro più programmato di un singolo processo in grado di gestire, la soluzione 'delayed_job' funzionerà meglio. – Leopd
- 1. Pianifica il lavoro Node.js ogni cinque minuti
- 2. Heroku, Rails 3.1 e Dalli
- 3. Assegna pipeline durante l'aggiornamento a Rails 3.1 su Heroku
- 4. Come distribuire JRuby Rails 3.1.x su Heroku
- 5. SSL-specifica in Heroku con Rails 3.1
- 6. Montare un motore su sottodominio Rails 3.1
- 7. Java Loop ogni minuto
- 8. Cronjob ogni minuto
- 9. Come resettare tutto Heroku nel mio Git/Rails 3.1 Progetto
- 10. Rails 3.1 - Pushing to Heroku - Errori durante l'installazione dell'adattatore Postgres?
- 11. rotaie 3.1 distribuzione su Heroku css non è precompilato errore
- 12. blueprint css rails 3.1 help
- 13. Come testare percorsi in un motore montabile su Rails 3.1
- 14. Impossibile ottenere Rails 3.1, Compass, Sass, Blueprint lavorando su Heroku Cedar
- 15. Capistrano per Rails 3.1
- 16. Rails 3.1 Percorsi API
- 17. La migliore soluzione per i rails per un mailer che viene eseguita ogni minuto
- 18. Rails 3.1 Ransack HABTM
- 19. Rails 3.1 Mongo has_secure_password
- 20. Heroku - come iniziare il lavoro (lavoro ritardato)?
- 21. Rails 3.1 e caching pagina http
- 22. Rails 3.1 Asset StyleSheet sorting
- 23. rails 3.1 generazione file CSV
- 24. Come programmare un lavoro una volta ogni giovedì usando Kue?
- 25. rails request.env ["HTTP_REFERER"] dando nil su heroku
- 26. Rails 4 immagini non caricate su heroku
- 27. Rails fogli di stile su Heroku
- 28. Come utilizzare Elasticsearch su Heroku
- 29. Pianifica un cronjob su ssh con la riga di comando
- 30. Heroku supporta `rails dbconsole`?
grazie - lo proverò oggi e se funziona accetterò la risposta :-) –
Hai risolto questo problema? Ho bisogno di eseguire un rake task ogni 1 minuto e sto pensando che ci dovrebbe essere un modo per farlo funzionare da solo vs che richiede cron. Attualmente cron su heroku ha un massimo di ogni ora. – ylluminate
@ylluminate: non l'ho mai sentito, ma dovrebbe funzionare, provalo e fammi sapere come va. –