【问题标题】:Cron expression Aws to run every 5 minutes after EventBridge (Cloudwatch trigger) enablesCron 表达式 Aws 在 EventBridge(Cloudwatch 触发器)启用后每 5 分钟运行一次
【发布时间】:2021-01-17 16:26:58
【问题描述】:

我见过几个例子,它们都只是在特定时间触发一项工作,我现在有: 0 */5 * ? * * 它在 0、5、10 分钟等触发。 但是,我需要触发器在触发器启用的 +5 时刻运行。

因此,如果服务在下午 12:07 启用,我需要它在下午 12:12 开始运行。 有没有办法做到这一点?

【问题讨论】:

  • 您是否尝试过查看此stackoverflow.com/a/16094616/6568402... 您可以设置特定于触发时间的偏移量。例如:您可以添加 7 或 12 的偏移量,具体取决于您要设置的 crons。
  • 感谢@arjithn,我已经看过其中的几个,但不是我在看的,问题是我不知道哪个是偏移量,因为这个想法是触发还是计时器启用 cloudwatch-eventbridge 5 分钟后开始计数。
  • 知道了!我根据我的理解发布了答案。让我知道它是否真的解决了您的问题。

标签: amazon-web-services aws-lambda cron amazon-cloudwatch aws-event-bridge


【解决方案1】:

解决方法很简单:

在创建规则之前检查当时的分钟时间

time_minutes_now */5 * ? * *

【讨论】:

    【解决方案2】:

    就像你提到的,偏移量是解决问题的一部分。

    0 */5+your_offset * ? * *
    

    现在来看看你的偏移量:

    假设在 12:07 左右启用了 cloudwatch-event 桥接器,(您可以从事件详细信息时间戳中获取该信息。)

    your_offset = 7 + 5
    // so your cron becomes :  0 */5+12 * ? * *
    

    或者一般来说你的

    offset = the minute part of timestamp + 5 
    // for your to schedule 5 mins after service is enabled
    

    【讨论】:

    • 所以,基本上我每次都必须更改我的 eventbrinds-cloudwatch 规则的 cron 表达式?因为它们是严格的,并且不允许我(据我所知)用变量修改它的行为,所以我必须(可能)删除并创建回具有所需偏移量的规则。它可能有效,但可能不是我老板所期望的(:P)
    • 是的..有点!无论如何,我建议您再检查一次,因为可能有一些可用的 API 可以从 sdk 或 cli 调用以修改规则。我不知道。但是,嘿,如果它在那里......那么它可以解决你的问题!干杯伙伴!
    • 你是对的,在阅读了更多文档并且比昨天更新鲜一点后,我找到了可能有帮助的方法,谢谢朋友 :) 将使用 docs + yours,希望我的老板不会不要杀我:D
    猜你喜欢
    • 2021-09-03
    • 2023-04-01
    • 2016-11-09
    • 2018-08-22
    • 1970-01-01
    • 2017-02-12
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多