是否可以在没有指定时区的情况下基于 PDT 创建 cron 计划? 比如说,时区与 UTC 相关联



目标:创建一个一致的 cron 表达式,该表达式在 PDT 的每个星期日午夜触发,而无需每年更改两次表达式。

限制:无法指定时区。 所有表达式均基于 UTC

背景:AWS CloudWatch 事件支持 cron 表达式,但默认为 UTC。

我相信UTC很容易PST

0 8 * ? SUN *

但是,如果我需要它PDT怎么办?

根据工作的性质,这里有一个潜在的黑客:

0 7,8 * ? SUN *

仅当触发的作业具有足够的内部逻辑功能,可以自行决定是否应继续执行时,这才有效。

当作业启动时,它必须有一种内部方法来检查从系统时间转换为America/Los_Angeles(或在运行时可用的任何时区库中可能调用的任何时间(后的当前时间,以确定该时区中的当前时间是否足够接近午夜 - 在这种情况下,它应该正常进行 - 或者当前时间是否更接近午夜+/- ~1小时, 在这种情况下,它应该安静地终止而不做任何工作。 作业在每个指定日期生成两次,但两个调用中的一个很快完成,因此使用的资源很少。

最新更新