【问题标题】:Schedule a cron job for execution every hour on certain days on App Engine在 App Engine 上的某些日子安排一个 cron 作业以每小时执行一次
【发布时间】:2011-04-10 22:48:12
【问题描述】:

我想安排一个 cron 任务每小时运行一次,但仅限于从星期四到星期一。这样的时间表可能吗?从the documentation 看来,我可以安排一个 cron 任务以每小时间隔在特定日期的特定时间运行,但我不知道如何安排 cron 任务在特定日期以每小时间隔运行

我在cron.yaml 中尝试过如下时间表:

  • every 1 hours thu,fri,sat,sun,mon
  • every 1 hours of thu,fri,sat,sun,mon

按照我阅读文档的方式,我认为这可能是不可能的。我希望我要么错过了一些东西,要么我想要完成的事情有一些未记录的语法。

【问题讨论】:

  • 一种可能的解决方法:让脚本检查日期

标签: python google-app-engine cron


【解决方案1】:

就像您在 cronjobs 文档中注意到的那样,the source 似乎也表明间隔计划格式不允许您将间隔限制为一周中的特定日期。

虽然您不能使用单个 cronjob 来安排您的任务,但您可以使用多个 cronjob 来安排它:

every thu,fri,sat,sun,mon 00:00
every thu,fri,sat,sun,mon 01:00
...
every thu,fri,sat,sun,mon 23:00

或者,leoluk 的评论提出了一个很好的建议 - 只需使用单个简单的间隔时间表,它每小时调用一次您的脚本,但如果您希望在星期几时终止您的脚本而不做任何事情排除(例如,您的情况是周二或周三)。

【讨论】:

  • 是的,听起来只是在脚本开始时检查日期可能是正确的选择。
  • 注意:源代码中有一条注释表明可以扩展计划语法以允许指定多个小时 - 然后您可以将 24 个作业合并为一个作业。因此,也许将来您可以用单个 cronjob 替换脚本内检查(一条较长的行,但比仅通过 cron 实现目标所需的 24 个作业要好)。
  • 您最多只能有 20 个 cron 作业
猜你喜欢
  • 1970-01-01
  • 2020-08-06
  • 1970-01-01
  • 2020-02-28
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多