Heroku、cron、delayed_job 和工人 (Rails 3)
我有两个问题:
- 如何在运行延迟作业之前添加一个heroku工作人员并在完成后将其删除?
- 我的 cron.rake 还好吗?
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我在 HireFire 方面取得了巨大成功。
轻松设置:
gem 'hirefire'
添加到您的 GemfileRails.root/config/initializers/hirefire.rb
。I've had good success with HireFire.
Easy setup:
gem 'hirefire'
to your GemfileRails.root/config/initializers/hirefire.rb
with the config information.要添加删除/删除工作人员,请在 :create / after :destroy 之后挂钩到您的 ORM
使用 Heroku 上的 DataMapper,我是这样做的(您必须自己设置 ENV 变量)
To add remove/remove workers, hook into your ORM's after :create / after :destroy
With DataMapper on Heroku, I did it like this (You must set the ENV vars yourself)