我应该将后台进程放在rails中?

时间:2010-01-13 18:15:49

标签: ruby-on-rails background-process rufus-scheduler

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

  1. 哪里是放置工作代码的最佳位置?
  2. 我应该在哪里放置Rufus代码来安排工作?我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

要控制调度程序,我会创建一个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目录,但这对于一个文件来说可能有点过分。