问题标签 [cadence-workflow]

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 投票
2 回答
939 浏览

cadence-workflow - Uber Cadence 制作设置

我正在寻找一个微服务编排器并遇到了 Uber Cadence。我已经阅读了文档并在开发设置中使用了它。

我对生产场景有几个问题:

  1. 是否建议为工作流及其使用的不同活动设置一个专门的任务列表?或者,我们应该为所有人使用一个任务列表吗?这个决定是否会影响可扩展性或性能?

  2. 当我们添加一个新的工作机器时,在同一台机器上为不同的活动/工作流运行所有工作人员是一种常见的做法吗?例子:

    或者我们应该在专用机器上运行每个活动/工作流工作者?

  3. 在单个工作机器中,我们可以为给定的活动创建多少工作人员?例如,如果我们有活动 HelloActivityImpl,我们是否应该在同一台工作机器上为它创建多个工作人员?

  4. 我还没有找到任何用于生产设置的文档。例如,如何在生产环境中安装和配置 Cadence 服务?如果有人能指导我找到正确的材料,那就太好了。

  5. 在一些视频教程中提到,为了实现高可用性,我们可以跨多个数据中心设置 Cadence 服务。如何为此配置 Cadence 服务?

0 投票
1 回答
304 浏览

cadence-workflow - 工作线程和工作流的节奏配置

工人和工作流之间的比率是多少以及如何管理线程以便工人和工作流数量之间不应该中断如果我启动更多数量的工作流,则会引发以下错误

没有足够的线程来执行工作流。如果此消息始终出现,则应减少 WorkerOptions.maxConcurrentWorklfowExecutionSize 或增加 WorkerOptions.maxWorkflowThreads。

处于阻塞状态的工作流在内存中保持活动状态??处于等待状态的工作流不断检查条件??更多处于等待状态的工作流将保持工作人员被占用??在下面的示例中,线程正在等待信号,工作流的数量被缩放到一百万/天,timetocloseWorkflow = 2 天。触发信号的平均时间是相应工作流程启动后的 1 天

--

0 投票
2 回答
158 浏览

cadence-workflow - 为什么需要 executionStartToCloseTimeoutSeconds?

在 Candece 中使用 Java 客户端启动工作流时,工作流上需要“executionStartToCloseTimeoutSeconds”。如果我有一个可以运行不确定时间的工作流,我该如何绕过这个限制?

0 投票
2 回答
289 浏览

logging - 有没有办法在节奏工作流程中使用“zerolog”记录器而不是“zap”记录器?

我知道 Cadence 使用它自己的内部非导出context. 这使得很难从中获取值,因为workflow.Context和之间没有转换context.Context。但也许还有另一种我忽略的方式。

0 投票
1 回答
366 浏览

go - 在节奏工作流的循环内调用相同的活动

我在 cadence 工作流程中有一个问题,我们可以在 for 循环中使用不同的输入调用相同的活动吗?该代码将是确定性的吗?如果执行工作流的工作人员在执行期间停止并稍后重新启动,则 cadence 将能够在重新构建工作流时重播事件。

例如,我有以下代码。

在这里,第二个活动在 for 循环中被并行调用。我的第一个问题是这段代码是确定性的吗?

假设在循环 5 次迭代后,当 i = 5 时,执行此工作流的工作人员终止,如果工作流程在另一个工作人员中启动,cadence 是否能够重播事件?

你能回答我的问题吗?

0 投票
2 回答
135 浏览

cadence-workflow - 尝试运行工作流时,“QueryFailedError {消息:工作流必须处理至少一个决策任务才能被查询}”

尝试启动工作流(并查询它以获取 init)时出现上述错误。我花了一段时间才了解事物的名称 - 阅读本文后,更清楚决策任务到底是什么,但我认为我仍然有点迷失在术语上。所以我相信我的案例决策任务需要超过 1 秒(queryFirstDecisionTaskWaitTime)。这个等待时间可以以任何方式配置吗?有没有人遇到过类似的问题?

0 投票
2 回答
150 浏览

cadence-workflow - 在实现 Uber Cadence 工作流程时,Java 客户端与 Go 客户端有哪些重大差异?

我正在设计一个工作流,目的是使用 cadence 工作流引擎和 Java 客户端。似乎 uber 正在积极使用 Go,因此 Go 比 Java Client 具有更好的文档和 Activity 和其他类。这是真的?

0 投票
1 回答
142 浏览

cadence-workflow - 引入版本控制后,Cadence 工作流不执行活动

我在 cadence 工作流中引入了 cadence 版本控制,之后工作流在版本控制引入点停止执行。我收到以下错误:

2020-10-29T07:23:49.587Z DEBUG internal/internal_event_handlers.go:465 ExecuteActivity {“Domain”:“domain_1”,“TaskList”:“tasklist_1”,“WorkerID”:“6@cdnc-5ddb9ccbb5-5dt5j@tasklist ”,“WorkflowType”:“do_work_workflow”,“WorkflowID”:“CREATE”,“RunID”:“cab97b65-9892-48c5-b842-3f8b462d8602”,“ActivityID”:“4”,“ActivityType”:“do_Task_D”} 2020-10-29T07:23:49.620Z DEBUG internal/internal_task_handlers.go:1077 缓存状态已过时,新任务有意外事件 {“Domain”:“domain_1”,“TaskList”:“tasklist_1”,“WorkerID”:“6 @cdnc-5ddb9ccbb5-5dt5j@tasklist1", "WorkflowID": "CREATE", "RunID": "cab97b65-9892-48c5-b842-3f8b462d8602”,“CachedPreviousStartedEventID”:30,“TaskFirstEventID”:22,“TaskStartedEventID”:30,“TaskPreviousStartedEventID”:21}

我的工作流程代码将如下所示:

在 ChangeID 处,返回的版本为 1,工作流尝试执行 TaskD,但它没有执行它,它陷入了无限循环,试图执行 TaskD。

我得到的错误信息是

缓存状态过时,新任务有意外事件

BadRequestError{消息:CadenceChangeVersion 不是有效的搜索属性}

你能帮我解决这个问题吗?

0 投票
1 回答
99 浏览

cadence-workflow - 使用命令行运行工作流时,如何使工作流运行无限长时间?

我正在使用命令行运行 Cadence 工作流程。我不希望我的工作流程超时(即,我希望它运行无限长的时间)。我该怎么做?

0 投票
1 回答
238 浏览

workflow - Uber Cadence 工作流程版本控制

Cadence 工作流程版本控制:

工作流 impl 具有以下代码:

工作流程 1 的开始:o/p -- version1: 1

工作流 impl 的变化:

工作流程 2 的开始:o/p -- version1: 2

工作流 impl 的变化:

工作流程 3 的开始:o/p -- version1: 3

重播工作流程 2 : o/p --version1: -1

重播工作流程 1 : o/p --version1: -1

我期待低于o / p

重播工作流程 2 : o/p -- version1: 2

重播工作流程 1 : o/p -- version1: 1

所以这意味着我们一次只能维护两个版本的工作流代码,

当前版本和所有旧版本 getVersion 将给出 Workflow.DEFAULT_VERSION

如果我错了,请纠正我!