用途:该技能提供在 Dust 项目中创建 Temporal 工作流的逐步指南,适用于添加后台任务、异步处理、持久化工作流或任务队列。
主要能力:按队列组织代码结构,每个队列包含 config.ts(队列名与版本)、helpers.ts(工作流 ID 生成器)、activities.ts(活动实现,如数据库与 API 调用)、workflows.ts(工作流编排)、worker.ts(Worker 设置)和 client.ts(工作流启动函数)。核心概念包括:Workflow 是持久、确定性的编排函数;Activity 是带副作用的非确定性函数;Task Queue 是执行工作流与活动的命名队列;Workflow ID 用于幂等性。
使用方式:按步骤创建队列配置(版本化队列名)、确定性的工作流 ID 辅助函数、活动、工作流、客户端启动器与 Worker,并在 temporal/worker_registry.ts 中注册 Worker(添加导入、加入 WorkerName 类型与 workerFunctions 映射),否则工作流不会执行。可通过 proxyActivities 配置 startToCloseTimeout 与 retry(maximumAttempts、initialInterval、backoffCoefficient、maximumInterval、nonRetryableErrorTypes)。
适用场景:需要持久后台处理、异步任务、任务队列或幂等工作流编排的 Dust 开发场景。
限制:工作流必须确定性,不能使用 Math.random()、Date.now() 等;活动应幂等并可抛出错误以触发 Temporal 重试;客户端需处理 WorkflowExecutionAlreadyStartedError;未注册 Worker 则工作流不会运行。资料未提供具体安装命令、收费或平台信息。