/ / Rails + Heroku :: úloha v cron úloh - heroku, cron, hracia, rubínová na koľajniciach-3.1

Rails + Heroku :: úloha na ceste v cron úlohe - heroku, cron, hrabanie, rubín na koľajniciach-3.1

otázky

1) Pri spustení cron úloh v Heroku má Heroku časový limit, že úlohy cron by mali trvať len X minút alebo môže úloha cron bežať tak dlho, kým potrebuje dokončiť spracovanie?

2) Ak chcete optimalizovať svoju aplikáciu, chcem presunúť všetkomôj spracovanie do dávkového režimu. Takže mám veľa aktualizačných dopytov. V podstate to, že jeden súbor Heroku cron je nepríjemný. Čo môžem urobiť, aby som vyčistil kód? Mali by som vytvoriť viac úloh rake a vyvolať úlohy úloh z súboru cron?

2.1) Ak s tým súhlasíte, ako môžem vyvolať úlohy z radu z cron úlohy? Povedzme, že existujú 3 nezávislé úlohy s rake: rake účty: účtovanie, rake účty: kolekcie, rake účty: cleanup Ako ich volám v cron súbore?

odpovede:

3 pre odpoveď č. 1

Neexistujú žiadne časové obmedzenia, o ktorých viem.

Použitie viacerých úloh namiesto jednej veľkej cron úlohyje dobrý nápad. Nielen, že je ľahšie ladiť a udržiavať, keď sú "oddelené, ale môžete ich tiež ľahko spustiť individuálne v prípade potreby." A dobre zohľadnený kód je jednoducho dobrý nápad všetko samo o sebe.

Vykonanie úlohy z inej úlohy je také jednoduché Rake::Task[task].execute, Mali by ste niečo také:

desc "Heroku cron job"
task :cron => :environment do
%w{accounts:billing accounts:collections accounts:cleanup}.each do |task|
Rake::Task[task].execute
end
end