小编典典

rails 的 cron 工作:最佳实践?

all

在 Rails 环境中运行计划任务的最佳方式是什么?脚本/跑步者?耙?我想每隔几分钟运行一次任务。


阅读 79

收藏
2022-04-20

共1个答案

小编典典

我正在使用 rake 方法(由heroku支持)

使用名为 lib/tasks/cron.rake 的文件 ..

task :cron => :environment do
  puts "Pulling new requests..."
  EdiListener.process_new_messages
  puts "done."
end

要从命令行执行,这只是“rake cron”。然后可以根据需要将此命令放在操作系统 cron/task 调度程序上。

更新 这是一个相当古老的问题和答案!一些新信息:

  • 我引用的 heroku cron 服务已被Heroku Scheduler取代
  • 对于频繁的任务(尤其是您想避免 Rails 环境启动成本的地方),我首选的方法是使用系统 cron 调用脚本,该脚本将(a)戳一个安全/私有 webhook API 以在后台调用所需的任务或 (b) 直接在您选择的排队系统中加入任务
2022-04-20