【问题标题】:hourly cron task overlapping on 2 days每小时 cron 任务重叠 2 天
【发布时间】:2021-11-27 14:15:57
【问题描述】:

我必须从 firebase 调度函数中编写一些 cron 表达式。由于 Google 的服务器与我不在同一个时区,我将不得不转换我现有的表达式。 (从 UTC+2 到 UTC-5)。 这是我的一种表达方式的示例: 0 9-17 * * 1-5 - 从周一到周五的第 0 分钟,从 9:00 到 17:00

如何转换它,以便在服务器处于 UTC-5 时,此时它会在 UTC+2 中运行

【问题讨论】:

    标签: javascript firebase cron schedule


    【解决方案1】:

    因为 UTC+2 到 UTC-5 是向后 7 小时,所以您应该将时间向后 7 小时:

    0 2-10 * * 1-5
    

    【讨论】:

    • 谢谢我走错路了(+7 代替)
    【解决方案2】:

    当我们查看此处记录的 Firebase 调度函数文档时:

    https://firebase.google.com/docs/functions/schedule-functions

    我们找到了一个名为编写计划函数的部分。在那里我们发现当我们编码时:

    functions.pubsub.schedule("<CRON String">)
    

    我们可以添加一个timeZone 设置。例如:

    functions.pubsub.schedule("<CRON String">).timeZone('America/New_York')
    

    这对我们来说意味着我们可以设置一个特定的时区,以此来评估我们的 CRON 间隔。根据文档,默认时区是utc

    【讨论】:

    • 我一开始也是这样。但由于未知原因,未应用时区,us-central1 仍然是执行时区。 (在谷歌云调度程序中,它是新时区)。在文档中,默认值为 America/Los_Angeles
    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 2014-02-21
    • 2012-08-09
    • 2022-01-23
    相关资源
    最近更新 更多