Где я должен поместить фоновые процессы в рельсах? - PullRequest
2 голосов
/ 13 января 2010

Я создаю проект Rails, в котором есть задание типа cron, которым я управляю с помощью Rufus Scheduler. У меня есть два вопроса о том, как правильно настроить это в Rails:

  1. Где лучше всего поставить код работы?
  2. Где мне разместить код Руфуса, чтобы запланировать работу? Как я должен начать?

1 Ответ

2 голосов
/ 13 января 2010

Для управления планировщиком я бы создал 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, но это может быть излишним только для одного файла.

...