2015-03-31 13 views
8

Jestem świadomy tego wątku: A cron job for rails: best practices?, ale nie ma wzmianki o ActiveJob. Moją motywacją do tego jest ActiveJob, ponieważ jest on wbudowany w Rails i tutaj jest fragment jego dokumentów:Jak utworzyć codzienne zadanie (podobne do cron) w Railsach ActiveJob?

"Te zadania mogą dotyczyć wszystkiego, od regularnych zaplanowanych porządków, po opłaty za fakturowanie, aż po wysyłkę pocztą".

Jak utworzyć codzienne zadanie (podobne do cron) w Railsach ActiveJob? Ponieważ nie widzę przykład, aby uruchomić regularnie zaplanowane zadanie w its docs.

Czy powinienem trzymać się klejnotu whenever?

Odpowiedz

7

Kij z klejnotem whenever lub podobnym klejnotem np. chrono, clockwork, rufus-scheduler.

To, co czytasz w dokumentacji ActiveJob, jest nieco mylące, ponieważ mogłoby się wydawać, że ActiveJob może być w stanie obsłużyć odpowiedzialność za regularne planowanie. To, co dokumentacja powinna powiedzieć IMHO, to fakt, że zadania są regularnie planowane przez inny system lub narzędzie.

Tak, ActiveJob dotyczy zadań oczekujących w kolejce?

Tak, chodzi o Railsy zapewniające standardowy interfejs do dodawania zadania do kolejki i wywoływania metody perform. ActiveJob zapewnia interfejsy metod, które umożliwiają adaptery do wielu kolejek zadań przetwarzania, backendów natychmiastowym biegaczy itp

+0

Więc, ActiveJob dotyczy zadań oczekujących w kolejce? – rilut

5

To działa dla mnie:

every 1.day, at: '9:36 am' do 
    runner 'SomeJob.perform_later' 
end 

Używam whenever i ActiveJob

Powiązane problemy