AWS:具有重试和超时功能的 Step Functions 工作流程

问题描述 投票:0回答:0

我正在尝试实现一个基本的工作流程(我认为是基本的),但我无法弄清楚AWS步骤函数的方式。

基本上,要求如下:

  1. 运行一个函数,向用户发送带有特殊链接的电子邮件
  2. 如果用户 2 天后没有点击链接 - 发送提醒
  3. 如果用户在 3 天后没有点击链接 - 再次发送提醒。
  4. 如果用户单击链接,则继续执行另一个步骤。
  5. 如果用户在收到初始电子邮件后的 2 个月内未单击链接 - 整个工作流程将失败。

因此,根据上述要求,我尝试将 2 个月的“超时”和提醒机制结合起来,但似乎没有内置的方法可以做到这一点。通过在数据库中创建记录并运行 cron 作业,无需步骤函数即可轻松处理,但我希望获得一些有关如何以 AWS 方式处理此问题的建议。

我尝试在发送第一封电子邮件的初始函数中添加一个“等待回调”语句,这样我就可以在该任务上设置 2 个月的超时时间,所以如果我不这样做,它将在 2 个月后失败t 通过单击电子邮件内的链接发送“sendTaskSuccess”。但在这种情况下,我不知道如何处理提醒。

我尝试过的另一件事是将提醒委托给另一个状态机,并在启动第一封电子邮件后执行该状态机。基本上是工作流程内的工作流程。但这里的问题是,当父级成功(用户单击链接)时,我无法取消子工作流(它与父级具有相同的任务令牌),即使父级步骤消失,它也会保留并发送提醒。

感谢您的建议!

amazon-web-services workflow state-machine aws-step-functions
© www.soinside.com 2019 - 2024. All rights reserved.