开发者

Where should I put background processes in rails?

开发者 https://www.devze.com 2022-12-16 20:19 出处:网络
I\'m building a Rails project that has a cron-type job that I\'m managing with Rufus Scheduler. I have two questions about how to set this up appropriately in Rails:

I'm building a Rails project that has a cron-type job that I'm managing with Rufus Scheduler. I have two questions about how to set this up appropriately in Rails:

  1. Where's the best place to put the job's code?
  2. Where should I place the 开发者_运维知识库Rufus code to schedule the job? How should I kick it off?


To control the scheduler I would create a config/initializers/task_scheduler.rb:

task_scheduler = Rufus::Scheduler.start_new  

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

Now for the Something.to_do code, that sort of depends on what it does. Perhaps it is a data model and it should go in the app/models directory, but if it is something more generic you might want to place it in lib/. If you wind up with a number of scheduled tasks you might want to create a app/scheduled_tasks directory, but that might be overkill for just one file.

0

精彩评论

暂无评论...
验证码 换一张
取 消