iCyeah
1
* 描述问题
工作流复制后新版启用,删除旧版时一直转圈无法删除。
同时,工作流的历史执行记录也无法清空、删除。
* 运行环境
- NocoBase 版本: v1.4.0-alpha.2.20241107035032
- 操作系统:Windows
-浏览器及版本:Edge 130.0.2849.68
- Docker 镜像版本:nocobase/nocobase:next
如何重现
预期行为
能够正常删除历史版本的工作流,能够清空工作流执行历史记录
截图
日志
未能复现该问题,麻烦提供详细的复现步骤。方便的话也可以在官方 demo 上创建一个可复现的环境,以便我们协助排查。
iCyeah
4
Demo环境可能较难复现,目前我的环境是超过10w+的历史执行记录,相关删除或清空操作,会导致mysql的cpu占用100%,持续一段时间后,nocobase的app会自动重启,然后mysql的数据库资源占用恢复正常。
如果是大数据量的情况是可能的,目前有级联删除的处理,删除工作流会同时删除所有版本、节点、执行历史等表,可能有一定性能问题。
暂时的处理是手动按顺序分批删除一些内部表的数据:
- executions:执行计划
- workflows:工作流
另外还可以考虑配置工作流的自动删除选项,平常不重要的记录可以在执行完就进行删除,避免数据量太大。
目前我们正在优化此处的级联删除,也会加入定时删除的选项。