问题标签 [uber-cadence]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
54 浏览

uber-cadence - 向远程 Cadence 服务器注册工作流:任何示例

如何将工作流注册到远程 Cadence 服务器?几乎所有示例都指向本地服务器。

谢谢桑杰

0 投票
1 回答
335 浏览

cadence-workflow - Uber Cadence 任务列表管理

我们正在使用 Uber Cadence,并且我们会定期在生产环境中遇到问题。设置如下:

  • 一个带有 Cadence 客户端 2.7.5 的 Java 14 BE
  • 带有 Postgres DB 的 Cadence 服务版本 0.14.1

有多个域,对于所有域,单个 BE 服务器注册为工作器。

日志中可见的是,有时在查询期间,节奏似乎失去了对 BE 服务的粘性:

同时在后端什么都看不到。但是,在此期间,如果我检查 cadence Web 客户端上的轮询器,我会看到任务列表在那里,但它不再被视为决策处理程序(http://localhost:8088/domains/mydomain/task-列表/mytasklist/pollers)。正因为如此,几乎整个环境都死了,因为没有什么可以随着决定而进步。唯一的选择是重新启动后端服务并让它重新注册为工作人员。

在这一点上,调查被卡住了,所以一些帮助将不胜感激。

  • 有谁知道工人或任务列表如何失去其作为决策处理者的能力?它是按节奏管理的,比如基于工人产生的错误数量吗?我无法找到任何关于此的信息。
  • 据我了解,当粘性丢失时,cadence 将检查是否有另一个工作人员重播工作流程并继续它(在我的情况下,这将是同一个工作人员,因为只有一个工作人员)。是否有可能无法重播流程(尽管我认为它会在 cadence 客户端的后端日志中生成一些内容)或者此时工作人员已经从列表中删除并导致超时?

任何帮助都将受到欢迎!谢谢!

0 投票
0 回答
105 浏览

java - Cadence CLI 最新镜像不支持最新版本镜像?

我正在调查/学习节奏,并决定在带有 WLS2 的 Windows 上通过 docker 运行最新版本。使用docker.tar.gz fromhttps://github.com/uber/cadence/releases/tag/v0.20.0
和 docker-compose up 运行 cadence 然后遵循“hello world”工作流示例。

不幸的是,在尝试注册域时出现错误:

在我看来,CLI master 分支不支持最新版本的图像,这有点令人失望!

0 投票
1 回答
68 浏览

java - 如何从 Uber Cadence 中的 Java 代码获取打开/关闭的工作流列表?

我正在开发一个使用 Uber Cadence Java Client 的项目。如何从代码中获取打开/关闭的工作流列表?我可以从 CLI 中获取它,但不能从 java 代码中获取。

谢谢你。

0 投票
2 回答
79 浏览

cadence-workflow - 如何在不等待的情况下获得 Activity 的结果?以事件驱动的方式

团队,我对并行调用活动有疑问。

我知道可以使用Async.function.

对于我的用例,我想在收到所有活动的结果后并行调用 n 个活动,我想进入下一个状态,它可以是另一个活动或决策任务。

但是这里它给了我一个类似于 Java 中的 Future 的 Promise 对象。如果我们编写 promise.get() 来获得结果,但它阻塞了线程。

我需要类似于事件驱动的时尚而不阻塞线程。

希望你能理解我的问题!!

0 投票
1 回答
97 浏览

cadence-workflow - Difference between Async.function and Async.procedure in cadence

Team,

I don't know the difference between Async.function and Async.procedure

Let me know when to use where

0 投票
1 回答
100 浏览

cadence-workflow - 历史回放如何以节奏进行?

历史回放如何以节奏进行?

我有一个按顺序调用两个活动的工作流。

比如说,第一个活动已经完成,第二个活动有 100 行代码。如果应用服务器在执行activity2中的第50行代码时重新启动,它是否正好从第50行开始执行。如果是,那么在节奏中发生了什么神奇的事情?

我的 hello 活动中有上述代码。此代码将运行 4 分钟,当条件满足时,它将在文件中写入数据

我开始了一个工作流程,并在打印后退出了 cadence 服务器[Activity] started。我没有启动它只是停止它。但 4 分钟后,它完全[Activity] Ended在控制台中打印。我想知道这怎么可能,因为我停止了服务器但代码正在执行,数据正在写入文件中。

当我通过 cadence UI 检查它时,它显示最后的历史是 ActivityTaskStarted. 我启动了我的服务器。15 分钟后(因为 scheduleToCloseTimeoutSeconds 是 15 分钟)活动返回事件ActivityTaskTimedOut,并且整个 whorkflow 由于此超时而失败。

请解释重新启动 cadence 服务器时发生了什么?

0 投票
1 回答
195 浏览

cadence-workflow - 如何按节奏动态创建工作流

每个工作流都应该在单独的工作流类中实现吗?

是否建议实现一个通用工作流类,我们将使用传递给工作流的参数调用活动和触发计时器?

在我们的用例中,我们将从 UI 创建工作流,它将由最终用户创建。因此,我们最初无法定义我们的工作流程。

是推荐的方法吗?

0 投票
1 回答
60 浏览

cadence-workflow - ContinueAsNew 的确切用例是什么

团队,

使用 continueAsNew 的确切用例是什么?

由于我们支持 CronSchedule 进行定期活动,我不知道使用它的场景。

我们是否有这个来提供向后兼容性

0 投票
1 回答
103 浏览

cadence-workflow - 了解有节奏的信号和查询

查询 - 查询是将这种内部状态暴露给外部世界。查询公开为由外部实体调用的异步回调。

异步回调是什么意思?

Doc 说,Query 有两个限制 1)。不应改变工作流 2) 的状态。不会有任何阻塞操作。

但是我确实在查询方法中改变了变量并且它正在改变值。

我们不应该在查询方法中编写可变或阻塞代码,这仅仅是一种信念吗?

我没有看到查询和信号之间有任何区别。即使在工作流程完成后也会调用查询方法,而 Signal 不会?

我的理解正确吗?