问题标签 [temporal-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.
cadence-workflow - 修复错误后如何将失败/卡住的工作流程移动到新版本?
我的理解是,如果bug在Activity中,由于Activity没有版本的概念,所以会使用新的代码。但是如果工作流代码中存在错误并导致某些工作流失败(或者更糟糕的是,不是失败而是卡住了)怎么办,我们修复了错误并部署了新版本,但那些失败的工作流卡在旧版本上。有没有办法自动将那些失败/卡住的工作流程移动到新版本并重新运行它们?
这在我们身上发生了很多,因为我们刚刚开始学习使用 Cadence/Temporal
先感谢您!
cadence-workflow - 当子工作流的输入大小很大时超时异常
我们的父工作流代码基本上是这样的(JSONObject
来自org.json)
我们发现,大多数时候,父工作流工作者无法启动子工作流并抛出上面的超时异常。它疯狂地重试,但从未成功,并一遍又一遍地打印超时异常。然而,有时我们很幸运并且它有效。有时它甚至更早地在活动工作者中失败,并引发相同的异常。我们认为这是由于数据量太大(约 5MB),无法在超时时间内发送(从日志判断我们猜测设置为 2s)。如果我们child.run
用小的假数据调用它,它 100% 有效。
我们使用子工作流的原因是我们想用来Async.function
并行运行它们。那么我们该如何解决这个问题呢?是否有我们应该增加的节俭超时配置,或者我们可以避免传递大量数据?
先感谢您!
---Maxim回答后更新---
谢谢你。我阅读了示例,但对于我的用例仍有一些问题。假设我在我的 RestActivitiesWorker 中有一个包含 100 个巨大 JSON 对象的数组,如果我不应该将这个巨大的数组返回到工作流,我需要对数据库进行 100 次调用以创建 100 行记录并将 100 个 ID 放入一个数组中并且将其传递回工作流程。然后工作流为每个 ID 创建一个子工作流。然后每个子工作流调用另一个具有 id 的活动以从数据库加载数据。但是该活动必须将那个巨大的 JSON 传递给子工作流,这样可以吗?对于在数据库中进行 100 次插入的 RestActivitiesWorker,如果它在中间失败了怎么办?
我想这归结为我们的工作流程试图直接使用巨大的 JSON。我们正在尝试将巨大的 JSON(5-30MB,不是那么大)从外部系统加载到我们的系统中。我们稍微分解一下 JSON,操作一些值,并使用来自几个字段的值来执行一些不同的逻辑,最后将其保存在我们的 DB 中。我们应该如何使用 Temporal 来做到这一点?
cadence-workflow - 工作流事件的重新排序
寻找有关以下用例的建议或解决方案
- 应用程序接收按功能键标识的更改时间排序的消息(例如员工 ID)。一个功能键可以有多个消息
- 每条消息都会触发一个工作流。如果员工有待处理的工作流程,则希望将新消息排队,直到待处理的工作流程完成。
是否有任何方法可以按节奏重新排序消息以将它们作为消息中的功能键标识的组来处理?
cadence-workflow - 如何取消从工作流异步调用的活动?
我们想异步调用一个长时间运行的活动,并且在基于外部信号的某个时间后,想取消该长时间运行的活动。
目前,活动了解取消的唯一方法是通过心跳。确保您的活动心跳并且不会吞下心跳方法抛出的异常。
cadence-workflow - cadence 如何保存动作历史?
我的情况是批准、拒绝或退回我的请求,并根据该工作流程更改其状态。candence 如何帮助保存/检索每个工作流的所有操作历史记录。
cadence-workflow - 是否有一种机制可以立即向工作流发出有关异步活动失败/超时的信号
我们想要使用 cadence-workflow 来实现一个用例,我们想要触发一个长时间运行的异步活动,然后继续执行其他活动。如果与此同时,由于某种原因长时间运行的活动失败/超时,我们希望停止工作流的执行并触发补偿活动。
cadence-workflow - Cadence/Temporal 中的身份验证和授权
Cadence/Temporal 是否提供任何类型的身份验证和授权机制来访问 Cadence 服务器/web-ui 以及用于 cadence/temporal 服务器和 Workflow/Activity Workers 之间的通信。我找不到与此相关的任何文档。
cadence-workflow - Cadence Service 是否提供任何健康检查 API 端点
Cadence 服务是否提供任何健康检查 API 端点来监控和确保其可用性。
cadence-workflow - 如何通过 CLI 或 Java 客户端检索 cadence 工作流结果
如何通过 CLI 或 Java 客户端在给定工作流 ID 的情况下查询工作流最终结果