我在 Heroku 上部署了一个 Rails 应用程序,并使用 Heroku 调度程序插件成功处理日常作业。
现在我想要一份每周工作,但调度程序插件不允许我每周选择。
有关如何实现此目标的任何建议:
- 我过去曾尝试使用 rufus-scheduler,但它给我带来了一些问题,所以这不是一个选择。请参阅here详细信息。
- 我正在考虑在日常工作中检查当天的情况。有人尝试过并有反馈或了解该方法的问题吗?
- 非常感谢其他想法。
最佳答案
一种方法是你的第二个要点之一:
激活 Heroku cron 插件,并在 中添加 app/lib/tasks
cron.rake
任务
激活 Heroku 调度程序插件,并在 app/lib/tasks
中添加 scheduler.rake
任务
task :your_weekly_task=> :environment do
if Time.now.friday? # previous answer: Date.today.wday == 5
#do something
end
end
您甚至可以定义您希望任务运行的日期;o) (5 表示星期五)
编辑:顺便说一下,Cron 已被弃用,Heroku 建议切换到他们的 Scheduler 插件。但这并不会改变每周工作的方法。
EDIT2:根据沉没城市的反馈调整我的答案。
关于ruby-on-rails - 如何在 Heroku 上安排 'weekly' 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9835095/