我正在构建一个 Rails 项目,该项目有一个 cron 类型的作业,我使用 Rufus Scheduler 管理该作业。我有两个关于如何在 Rails 中正确设置的问题:

  1. 放置作业代码的最佳位置在哪里?
  2. 我应该在哪里放置 Rufus 代码来安排作业?我应该如何启动它?
有帮助吗?

解决方案

为了控制调度程序我会创建一个 config/initializers/task_scheduler.rb:

task_scheduler = Rufus::Scheduler.start_new  

task_scheduler.every("1m") do  
   Something.to_do! # Do something every minute! 
end

现在对于 Something.to_do 代码,这取决于它的作用。也许它是一个数据模型,它应该放在 app/models 目录,但如果它是更通用的东西,你可能想将它放在 lib/. 。如果您最终完成了许多计划任务,您可能需要创建一个 app/scheduled_tasks 目录,但这对于只有一个文件来说可能有点过大了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top