如何每隔7天运行一次延迟工作?
Mailers.delay(run_at: 7.days.from_now).send_mail(user)
这将在7天后运行。我希望每周都能完成同样的工作。随时随地使用宝石。
答案 0 :(得分:3)
Rufus Scheduler是一个伟大的宝石,所有基于Ruby(没有cron)
# config/initializer/task_scheduler.rb
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new
scheduler.every '7d' do
user = method_to_get_user_object
Mailers.send_mail(user).deliver
end