Ich habe zwei Fragen:Heroku, cron, delayed_job und Arbeiter (Rails 3)
- Wie kann ich einen Heroku Arbeiter hinzufügen, kurz bevor ein verzögertes Job läuft und entfernen Sie sie, nachdem sie beendet?
- Ist meine cron.rake ok?
cron.rake:
desc "This task is called by the Heroku cron add-on"
task :cron => :environment do
puts "requesting homepage to refresh cache"
uri = URI.parse('http://something.com')
Net::HTTP.get(uri)
puts "end requesting homepage"
puts "start sending daily mail"
User.notified_today.each do |user|
Delayed::Job.enqueue UserMailer.daily_mail(user).deliver
end
puts "end sending daily mail"
end
Ich benutze collectiveidea delayed_job.
Sei einfach vorsichtig, denn du könntest einen Arbeiter töten, der gerade einen Job in deinem After-Destroy-Block hat. Derzeit gibt es keine Möglichkeit, arbeitslose Arbeitnehmer nur zu töten. – iwasrobbed
Sie können den Destroy-Code nach dem Ausführen eines Jobs nach dem Job verschieben .. und dann diesen Worker herunterfahren. Ich bin mir nicht sicher, wie ich das erreichen soll. – baash05