Uber Cadence Local Activity 与副作用

Uber Cadence Local Activity Vs Side Effect

本地活动副作用之间有哪些主要区别?从表面上看,它们看起来很相似,其中 Local Activity 是一个超集。 用户什么时候应该更喜欢 Side Effect 而不是 Local Activity.

SideEffect 不支持任何错误处理。如果失败,它实际上会阻止工作流执行(通过恐慌决策任务)。它也与工作流代码在同一个 goroutine 中执行。

LocalActivity 在单独的 goroutine 中执行并支持错误处理,包括通过 RetryOptions.

自动重试

因此,仅将 SideEffect 用于预期不会失败的非常短暂的操作。或者,如果它们失败了,则可以阻止工作流执行。 UUID 生成就是此类操作的一个很好的例子。