如何将scheduler.rake移动到更可靠的后台作业中

时间:2015-09-09 00:20:48

标签: ruby-on-rails heroku

基本上......我只想完全将scheduler.rake中的内容移动到一个worker中,因为我希望它更快更可靠。

最快的方法是什么?我在Rails 3上

没什么特别的。快点。

2 个答案:

答案 0 :(得分:0)

我建议使用whenever gem

在您的Gemfile中。

gem 'whenever', :require => false

这将为您创建一个初始config/schedule.rb文件。

every 3.hours do
  # call background job
end

every 1.day, :at => '4:30 am' do
  # call background job
end

every :hour do 
  # call background job
end

every :sunday, :at => '12pm' do 
  # call background job
end

every '0 0 27-31 * *' do
  # call background job
end

我希望这会有所帮助。 快乐黑客

答案 1 :(得分:0)

如果您正在使用Heroku Scheduler,那么您可以配置为每个作业启动的dyno类型。

请注意,在调度程序上运行的作业应在下一个计划任务之前完成,否则它们将被终止。

有关更高级的时钟相关工作,请参阅此内容(但这并非易事):https://devcenter.heroku.com/articles/scheduled-jobs-custom-clock-processes