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

我正在构建一个Rails项目,该项目具有我正在使用Rufus Scheduler管理的cron类型的作业。 我有两个关于如何在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目录,但这可能只对一个文件有点过分。