首页 文章

亚马逊AWS SWF等待信号

提问于
浏览
0

我正在构建一个流程,需要用户在某个时候进行干预 . 我已经阅读了文档,看到我应该使用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”的决策任务

有什么方法可以让它只是挂在过程中直到收到信号?

1 回答

  • 0

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

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

相关问题