# 如何修改工作流而不破坏正在运行的实例？

Canonical URL: https://help.iagenify.com/zh/faqs/workflows/how-can-i-change-a-workflow-without-breaking-in-progress-runs

[← 返回工作流常见问题](https://help.iagenify.com/zh/faqs/workflows)

帮助中心 · 常见问题 工作流 1 分钟阅读
# 如何修改工作流而不破坏正在运行的实例？
工作流定义可能在现有执行仍依赖旧步骤、输入或状态结构时发生变化。应决定每个实例继续使用原版本完成、迁移到新版本，还是按有记录的流程停止。
IaGenify
工作流

## 为工作流契约版本化
记录每次执行由哪个定义版本启动，并保持其持久化状态兼容。若仍有运行中的实例依赖，不要改变现有字段或步骤标识的含义。
对于不兼容变更，应部署新版本并将新任务路由过去，同时让旧实例完成。如需迁移，应先为每种持久状态定义并验证转换方式。
## 规划发布与恢复
估算仍在运行的实例数量和时长。按版本监控失败情况，并保留旧定义，直到旧实例完成或安全迁移。
使用有代表性的运行中状态测试新代码，包括重试和等待步骤。记录如何暂停、恢复或回滚，避免发布时由操作人员临时猜测。 [← 返回工作流常见问题](https://help.iagenify.com/zh/faqs/workflows)
