每隔一个星期一做一份工作

时间:2015-05-18 22:43:19

标签: ruby heroku scheduler

我想使用Heroku调度程序来运行每个星期一。但是,它每小时,每天,每10分钟运行一次。

我看了这个...... How can I schedule a 'weekly' job on Heroku?

但是,我不确定可以使用哪些代码。我想我可以在每个星期一弄清楚,但不是每个星期一。

感谢

1 个答案:

答案 0 :(得分:2)

随着您变得越来越复杂,我建议您查看调度宝石。如果你想坚持使用vanilla Ruby,请查看monday?cweek的组合,它会告诉你当前年份的周数。在偶数周的星期一开始工作。

date = Date.today
date.monday? && date.cweek.even?

请注意cweek可以返回53,因为365不能被7整除,它必须处理最后一个部分周。新的一年的第一周将是1(它不会从0开始计算),因此当星期一在第53周时,您必须跳过一周或连续两次跑。