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”的决策任务

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

4

1 回答 1

0

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

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

于 2014-12-08T08:50:43.767 回答