我应该将后台进程放在rails中的哪里?
-
20-09-2019 - |
题
我正在构建一个 Rails 项目,该项目有一个 cron 类型的作业,我使用 Rufus Scheduler 管理该作业。我有两个关于如何在 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
目录,但这对于只有一个文件来说可能有点过大了。
不隶属于 StackOverflow