Terminate 任务
Terminate 任务是 Taskflow 中的一个控制流任务,用于主动终止工作流的执行。它提供了一种优雅的方式来处理工作流的提前结束,可以基于特定条件或业务规则来控制工作流的生命周期。
核心特性
终止控制
- 立即终止执行
- 状态标记设置
- 输出数据保存
条件终止
- 基于条件判断
- 动态状态设置
- 错误处理集成
清理机制
- 资源释放
- 状态回写
- 事件通知
任务参数
参数 | 描述 | 必需/可选 |
---|---|---|
status | 工作流终止状态。支持的值: - COMPLETED :正常完成 - FAILED :执行失败 - TERMINATED :手动终止 | 必需 |
workflowOutput | 工作流终止时的输出数据。可以包含任何 JSON 格式的数据。 | 可选 |
terminationReason | 终止原因说明。用于记录终止的具体原因。 | 可选 |
配置示例
1. 基础终止
{
"name": "terminate",
"taskReferenceName": "terminate_task",
"type": "TERMINATE",
"inputParameters": {
"status": "COMPLETED",
"workflowOutput": {
"result": "success",
"message": "Process completed successfully"
}
}
}
2. 失败终止
{
"name": "terminate_with_error",
"taskReferenceName": "terminate_error",
"type": "TERMINATE",
"inputParameters": {
"status": "FAILED",
"workflowOutput": {
"error": "Validation failed",
"details": {
"code": "VAL_001",
"message": "Invalid input data"
}
},
"terminationReason": "Data validation error occurred"
}
}
3. 条件终止
{
"name": "conditional_terminate",
"taskReferenceName": "terminate_conditional",
"type": "TERMINATE",
"inputParameters": {
"status": "${workflow.input.status}",
"workflowOutput": {
"processId": "${workflow.input.processId}",
"status": "${workflow.input.status}",
"timestamp": "${system.currentTimeMillis}"
},
"terminationReason": "${workflow.input.reason}"
}
}
使用场景
1. 流程验证失败
{
"name": "validate_and_terminate",
"taskReferenceName": "validation_terminate",
"type": "TERMINATE",
"inputParameters": {
"status": "FAILED",
"workflowOutput": {
"validationErrors": "${workflow.input.errors}",
"timestamp": "${system.currentTimeMillis}"
}
}
}
2. 业务规则中断
{
"name": "business_rule_terminate",
"taskReferenceName": "rule_terminate",
"type": "TERMINATE",
"inputParameters": {
"status": "TERMINATED",
"workflowOutput": {
"ruleId": "${workflow.input.ruleId}",
"action": "process_terminated",
"reason": "Business rule violation"
}
}
}
3. 成功完成处理
{
"name": "success_terminate",
"taskReferenceName": "success_terminate",
"type": "TERMINATE",
"inputParameters": {
"status": "COMPLETED",
"workflowOutput": {
"processedItems": "${workflow.input.itemCount}",
"successRate": "${workflow.input.successRate}",
"completionTime": "${system.currentTimeMillis}"
}
}
}
最佳实践
状态管理
- 明确设置终止状态
- 提供详细的原因说明
- 保存必要的上下文信息
数据处理
- 清理临时资源
- 保存重要数据
- 触发必要的通知
错误处理
- 记录详细日志
- 实现补偿逻辑
- 维护一致性
监控建议
状态跟踪
- 记录终止事件
- 统计终止原因
- 分析终止模式
性能监控
- 终止处理时间
- 资源释放情况
- 系统影响评估
告警设置
- 异常终止告警
- 频繁终止检测
- 资源泄露监控
注意事项
执行顺序
- Terminate 任务会立即结束工作流
- 后续任务不会执行
- 需要确保清理操作已完成
数据一致性
- 保证数据状态一致
- 处理并发情况
- 维护事务完整性
资源管理
- 释放所有资源
- 关闭外部连接
- 清理临时文件
调试指南
日志记录
{ "workflowOutput": { "debug": { "terminationPoint": "validation_step", "stackTrace": "${workflow.input.errorStack}", "context": "${workflow.input.debugContext}" } } }
状态追踪
{ "workflowOutput": { "audit": { "terminatedBy": "${workflow.input.userId}", "timestamp": "${system.currentTimeMillis}", "reason": "${workflow.input.terminationReason}" } } }
UI 配置指南
基本设置
- 选择终止状态
- 配置输出数据
- 设置终止原因
高级选项
- 条件配置
- 数据映射
- 通知设置
监控视图
- 查看终止历史
- 分析终止原因
- 评估影响范围