我想使用Heroku调度程序来运行每个星期一。但是,它每小时,每天,每10分钟运行一次。
我看了这个...... How can I schedule a 'weekly' job on Heroku?
但是,我不确定可以使用哪些代码。我想我可以在每个星期一弄清楚,但不是每个星期一。
感谢
答案 0 :(得分:2)
随着您变得越来越复杂,我建议您查看调度宝石。如果你想坚持使用vanilla Ruby,请查看monday?
和cweek
的组合,它会告诉你当前年份的周数。在偶数周的星期一开始工作。
date = Date.today
date.monday? && date.cweek.even?
请注意cweek
可以返回53,因为365不能被7整除,它必须处理最后一个部分周。新的一年的第一周将是1(它不会从0开始计算),因此当星期一在第53周时,您必须跳过一周或连续两次跑。