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