我目前正在使用 Heroku 的调度程序来运行脚本。但是,脚本运行所需的时间将从几毫秒增加到几分钟。我正在考虑使用 delay_job gem 将这个过程推到 Worker Dyno 上。我想继续每天运行一次此脚本,只需将其卸载给工作人员即可。我目前的 rake 任务是:
desc "This task updates some stuff for you."
task :update_some_stuff => :environment do
puts "Updating some stuff ..."
SomeClass.new.process
puts "... done."
end
一旦 gem 安装完毕,迁移运行,worker dyno 启动,脚本是否只需要更改为:
desc "This task updates some stuff for you."
task :update_some_stuff => :environment do
puts "Updating some stuff ..."
SomeClass.new.delay.process
puts "... done."
end
由于这个任务仍然是由 Heroku 的调度程序调度的 rake 任务,这里唯一需要发生的事情是引入将delay
其放入 Worker 队列的方法吗?
提前感谢您的帮助。