我正在尝试使用 Uber Cadence 了解子工作流的用例。与简单地将您的工作流程拆分为多个功能相比,子工作流程的优势是什么?我有一个相当复杂的工作流程,我正在考虑将其拆分为多个子工作流程,但我不确定这样做的利弊。
在我们的节奏工作流中,我们通常需要等待一定的时间才能继续外部事件(即电子邮件阅读、链接点击等)。
我想知道将这些事件通知我们的工作流程的最佳方式是什么。信号是正确的方式,还是我们应该创建一个等待事件的活动?
从我所见,我们需要创建一个信号通道ch := workflow.GetSignalChannel(ctx, SignalName),但是上下文在活动中不可用。
活动任务很容易理解,因为它正在执行一个活动……但什么是决策任务?工作人员是否从一开始(使用已完成活动的记录)贯穿整个工作流程,直到它遇到下一个需要做的“有意义”的事情,同时对接下来需要做的事情做出“决定”?