【发布时间】:2015-07-30 14:11:52
【问题描述】:
我想使用 Heroku 调度程序在每个 OTHER 星期一运行。但是,它仅每小时、每天、每 10 分钟运行一次。
我读到了... How can I schedule a 'weekly' job on Heroku?
但是,我不确定可以使用什么代码。我想我可以在每个星期一弄清楚,但不是每个 OTHER 星期一。
谢谢
【问题讨论】:
-
你的意思是除了这个之外的每个星期一吗?
我想使用 Heroku 调度程序在每个 OTHER 星期一运行。但是,它仅每小时、每天、每 10 分钟运行一次。
我读到了... How can I schedule a 'weekly' job on Heroku?
但是,我不确定可以使用什么代码。我想我可以在每个星期一弄清楚,但不是每个 OTHER 星期一。
谢谢
【问题讨论】:
随着您变得越来越复杂,我建议您查看调度 gem。如果您想坚持使用香草 Ruby,请查看 monday? 和 cweek 的组合,它会告诉您当年的周数。在偶数周的星期一运行您的工作。
date = Date.today
date.monday? && date.cweek.even?
请注意,cweek 可以返回 53,因为 365 不能被 7 整除,它必须处理最后的部分星期。新年的第一周将是 1(它不从 0 开始计算),因此当星期一是第 53 周时,您必须跳过一周或连续进行两次跑步。
【讨论】: