Где мне следует разместить фоновые процессы в рельсах?
-
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