标签: uber-cadence

如何为 Cadence 活动(本地和常规活动,带或不带重试)设置适当的超时值?

所以有这么多的超时值:

对于当地活动

  • 计划关闭超时

对于无需重试的常规活动

  • 计划开始超时
  • 计划关闭超时
  • 开始到关闭超时
  • 心跳超时

然后retryOptions中有更多值:

  • 过期时间间隔
  • 初始间隔
  • 退避系数
  • 最大间隔
  • 最大尝试次数

retryOptions 可以应用于 localActivity 或常规活动。

我如何将它们一起使用,有何期望?

cadence-workflow uber-cadence

5
推荐指数
1
解决办法
3321
查看次数

在 Cadence/Temporal 工作流程中处理信号的最佳方式/模式是什么

当像文档建议那样使用信号时:

public class MyWorkflow{
   public Output myWorkflwMethod(Input input){
      ...
   }

   public void mySignalMethod(request){
     // do actual processing here. 
     ...
   }
}
Run Code Online (Sandbox Code Playgroud)

我可能会遇到以下问题:

  1. 我想保证 FIFO 一次处理一个(在同一信号名称内或跨所有信号名称)
  2. 我想处理signalWithStart 的“竞争条件”,其中信号方法调用得太早
  3. 我想安全地重置工作流程。重置后,信号可以在历史早期重新应用
  4. 我想确保工作流程不会在处理信号之前提前完成

cadence-workflow temporal-workflow uber-cadence

5
推荐指数
1
解决办法
2294
查看次数

多线程在 Cadence/Temporal 工作流程中如何工作?

在 Cadence/Temporal 工作流程编程中:

  • 不允许使用本机线程库。例如,在Java中,线程必须通过Async.procedure或创建,Async.function而在Golang中,线程必须通过 创建workflow.Go。所以为什么?
  • 是否存在像使用本机线程那样的竞争条件?例如,应该使用Hashtableor来代替线程安全?ConcurrentHashMapHashMap

cadence-workflow temporal-workflow uber-cadence

4
推荐指数
1
解决办法
1502
查看次数

如果我们在时间上使用多个任务队列,我的工作人员如何知道轮询哪个任务?

  1. 如果我在时间匹配中设置10个视频任务队列,如果我们有5个匹配服务,时间将为每个匹配服务分配2个视频任务队列?
  2. 如果我在时间匹配中设置 10 个视频任务队列,如果我们有 50 个工作人员,他们如何分配到哪个任务队列进行轮询?每个队列有 5 个工作人员进行轮询?我们如何划分哪个worker轮询哪个视频任务队列?谁能稍微解释一下原理吗?

cadence-workflow temporal-workflow uber-cadence

4
推荐指数
1
解决办法
3444
查看次数

2
推荐指数
1
解决办法
1482
查看次数