【问题标题】:Amazon AWS SWF Wait for signal亚马逊 AWS SWF 等待信号
【发布时间】:2014-10-15 03:48:58
【问题描述】:

我正在构建一个在某些时候需要用户干预的流程。我已经阅读了文档,发现我应该使用 SWF 信号来继续我的流程。

我想知道是否有办法让流程在没有计时器的情况下等待信号。

当我使用时

  timer = create_timer_async(30)
  wait_for_any(timer, @signal_received)
  activity.activity_one

我的“activity_one”运行正常,无论我的信号是否在 30 秒内收到,我的工作流程执行完成。但是如果我尝试运行

  wait_for_any(@signal_received)
  activity.activity_one

我的 activity_one 从未运行,它一直循环执行“wait_for_any”的决策任务

有什么办法可以让它一直挂在进程上直到收到信号?

【问题讨论】:

    标签: ruby amazon-web-services amazon-swf


    【解决方案1】:

    根据您的描述,SDK 的行为似乎符合预期。在第一种情况下,wait_for_any 等待定时器触发(30 秒后)或接收信号。正如您所提到的,您的活动在 30 秒后正确运行,但这只是因为计时器触发,而不是因为收到信号。

    在第二种情况下,由于您只是在等待接收信号,因此活动永远不会触发,因为决策者永远不会收到信号。我的猜测是您没有正确触发信号。你能解释一下你是如何发出信号的吗?

    【讨论】:

      猜你喜欢
      • 2012-10-20
      • 2015-06-03
      • 1970-01-01
      • 2014-04-20
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 2017-03-22
      • 2017-03-08
      相关资源
      最近更新 更多