我应该将后台进程放在rails中?
我正在构建一个Rails项目,该项目具有我正在使用Rufus Scheduler管理的cron类型的作业。 我有两个关于如何在Rails中正确设置的问题:
- 放置工作代码的最佳位置在哪里?
- 我应该在哪里放置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
目录,但这可能只对一个文件有点过分。