Start Workflow 任务
Start Workflow 任务用于在当前工作流程中启动另一个工作流程。它提供了工作流程之间的编排能力,支持复杂的业务流程组合。
核心特性
工作流编排
- 子工作流启动
- 参数传递
- 状态管理
异步执行
- 并行处理
- 独立运行
- 状态追踪
数据流控制
- 输入参数映射
- 输出数据获取
- 上下文传递
任务参数
参数 | 描述 | 必需/可选 |
---|---|---|
startWorkflow | 要启动的工作流定义对象 | 必需 |
workflowName | 要启动的工作流名称 | 必需 |
workflowVersion | 工作流版本 | 可选,默认为最新版本 |
input | 传递给新工作流的输入参数 | 可选 |
taskTimeout | 等待工作流完成的超时时间 | 可选 |
配置示例
1. 基础工作流启动
{
"name": "start_workflow",
"taskReferenceName": "start_workflow_ref",
"type": "START_WORKFLOW",
"inputParameters": {
"workflowName": "process_data",
"workflowVersion": 1,
"input": {
"data": "${workflow.input.sourceData}",
"config": {
"processType": "standard",
"priority": "normal"
}
}
}
}
2. 带条件的工作流启动
{
"name": "conditional_workflow",
"taskReferenceName": "conditional_workflow_ref",
"type": "START_WORKFLOW",
"inputParameters": {
"workflowName": "${workflow.input.amount > 1000 ? 'high_value_process' : 'standard_process'}",
"workflowVersion": "1",
"input": {
"amount": "${workflow.input.amount}",
"customerId": "${workflow.input.customerId}",
"priority": "${workflow.input.amount > 1000 ? 'high' : 'normal'}"
}
}
}
3. 批量工作流启动
{
"name": "batch_workflow_start",
"taskReferenceName": "batch_workflow_ref",
"type": "START_WORKFLOW",
"inputParameters": {
"workflowName": "process_item",
"workflowVersion": 1,
"input": {
"items": "${workflow.input.itemList}",
"batchId": "${workflow.workflowId}",
"batchConfig": {
"parallel": true,
"maxConcurrent": 5
}
}
}
}
使用场景
1. 数据处理流水线
{
"name": "data_pipeline",
"taskReferenceName": "data_pipeline_ref",
"type": "START_WORKFLOW",
"inputParameters": {
"workflowName": "data_processing",
"input": {
"sourceData": "${workflow.input.data}",
"processingSteps": [
"validation",
"transformation",
"enrichment"
],
"outputFormat": "json"
}
}
}
2. 审批流程
{
"name": "approval_process",
"taskReferenceName": "approval_process_ref",
"type": "START_WORKFLOW",
"inputParameters": {
"workflowName": "multi_level_approval",
"input": {
"requestId": "${workflow.input.requestId}",
"requestType": "${workflow.input.type}",
"amount": "${workflow.input.amount}",
"approvers": "${workflow.input.approverList}"
}
}
}
最佳实践
参数传递
- 验证必需参数
- 处理默认值
- 类型转换检查
错误处理
- 启动失败处理
- 超时管理
- 状态同步
版本控制
- 明确版本号
- 兼容性检查
- 升级策略
性能优化
资源管理
- 控制并发数
- 批量处理
- 超时设置
数据优化
- 减少数据传输
- 参数精简
- 缓存利用
调试技巧
工作流追踪
{ "inputParameters": { "debug": { "parentWorkflowId": "${workflow.workflowId}", "startTime": "${system.currentTimeMillis}", "context": "${workflow.input}" } } }
状态监控
{ "inputParameters": { "monitor": { "childWorkflows": [], "startTime": "${system.currentTimeMillis}", "status": "RUNNING" } } }
错误处理
常见错误
启动错误
- 工作流不存在
- 参数验证失败
- 权限不足
运行错误
- 执行超时
- 资源不足
- 依赖服务失败
错误响应
{
"status": "FAILED",
"error": "WORKFLOW_START_ERROR",
"message": "Failed to start workflow",
"details": {
"workflowName": "process_data",
"errorCode": "INVALID_INPUT",
"errorMessage": "Required parameter 'data' is missing"
}
}
监控建议
性能指标
- 启动时间
- 执行时间
- 完成率
资源指标
- 并发数量
- 资源使用
- 队列长度
安全考虑
访问控制
- 权限验证
- 资源限制
- 数据隔离
数据安全
- 敏感信息处理
- 传输加密
- 审计日志
UI 配置指南
基本配置
- 选择工作流
- 设置版本
- 配置参数
高级选项
- 超时设置
- 重试策略
- 监控配置
监控面板
- 执行状态
- 性能指标
- 日志查看