每个月最后一天的工作

时间:2013-11-27 12:46:04

标签: google-app-engine cron

我希望cron工作的时间表是每个月的拉斯日。我用过这个:

<schedule>last day of month 23:59</schedule>

这是对的吗?

2 个答案:

答案 0 :(得分:4)

first of month 00:00启动作业的最简单方法。您可以将其调整为运行几个小时,然后将<timezone>设置为时区,其值比期望值更高。如果期望的时区是GMT,则可以将cron作业的时区设置为Europe/Berlin,并且该作业将在该月的最后一天格林尼治标准时间23:00执行。

答案 1 :(得分:0)

根据文档,您尝试创建的Cron Expression的格式为:

(“每个”|序数)(天)[“of”(monthpec)](时间)

其中:

  • ordinal指定逗号分隔的“1st”,“first”等列表(两种形式都可以)
  • days指定以逗号分隔的一周中的天数列表(例如,“mon”,“tuesday”,同时接受短格式和长格式); “每一天”相当于“每个星期一,星期二,星期三,星期四,星期五,坐着,太阳”
  • monthspec指定以逗号分隔的月份名称列表(例如,“jan”,“march”,“sep”)。如果省略,则表示每个月。你也可以说“月”表示每个月,如“09:00的1,8,15,22”。
  • 时间指定时间,以24小时为HH:MM。

我认为没有直接表达你想要做的事情。

您可能需要创建多个cron表达式。对于例如31 of month 09:00将在上午9:00处理所有月份的第31天,并且应该解决所有有31天的月份,依此类推。