工作流执行历史
为减轻 MongoDB 中 mdworkflow
库的存储空间持续增长压力,你可以选择将工作流执行历史进行归档,存储至新的 MongoDB 实例中。同时归档了的历史执行记录也可以在页面上进行选择查看。
如有历史未审批完、依旧进行中的的流程,数据被归档后会受影响,流程无法继续进行。
归档任务配置步骤
-
提前部署一套 MongoDB 实例,用与存储归档的数据。
- 我们提供了一个 单节点 MongoDB 部署文档 供参考。
-
下载镜像(离线包下载)
docker pull nocoly/hap-archivetools:1.0.4
-
创建
config.json
配置文件,示例内容如下:[
{
"id": "1",
"text": "描述",
"start": "2022-12-31 16:00:00",
"end": "2023-12-31 16:00:00",
"src": "mongodb://root:password@192.168.1.20:27017/mdworkflow?authSource=admin",
"archive": "mongodb://root:password@192.168.1.30:27017/mdworkflow_archive_2023?authSource=admin",
"table": "wf_instance",
"delete": true,
"batchSize": 500,
"retentionDays": 0,
"concurrencyLimit": 100
},
{
"id": "2",
"text": "描述",
"start": "2022-12-31 16:00:00",
"end": "2023-12-31 16:00:00",
"src": "mongodb://root:password@192.168.1.20:27017/mdworkflow?authSource=admin",
"archive": "mongodb://root:password@192.168.1.30:27017/mdworkflow_archive_2023?authSource=admin",
"table": "wf_subInstanceActivity",
"delete": true,
"batchSize": 500,
"retentionDays": 0,
"concurrencyLimit": 100
},
{
"id": "3",
"text": "描述",
"start": "2022-12-31 16:00:00",
"end": "2023-12-31 16:00:00",
"src": "mongodb://root:password@192.168.1.20:27017/mdworkflow?authSource=admin",
"archive": "mongodb://root:password@192.168.1.30:27017/mdworkflow_archive_2023?authSource=admin",
"table": "wf_subInstanceCallback",
"delete": true,
"batchSize": 500,
"retentionDays": 0,
"concurrencyLimit": 100
},
{
"id": "4",
"text": "描述",
"start": "2022-12-31 16:00:00",
"end": "2023-12-31 16:00:00",
"src": "mongodb://root:password@192.168.1.20:27017/mdworkflow?authSource=admin",
"archive": "mongodb://root:password@192.168.1.30:27017/mdworkflow_archive_2023?authSource=admin",
"table": "wf_instanceExtends",
"delete": true,
"batchSize": 500,
"retentionDays": 0,
"concurrencyLimit": 100
}
]- 根据上述配置文件格式,调整配置内容
- 注意,配置文件中指定的时间是世界时间 (UTC)
- UTC: 2022-12-31 16:00:00
- 对应东八区时间 (UTC+8): 2023-01-01 00:00:00(2022-12-31 16:00:00 + 8 小时)
- UTC: 2023-12-31 16:00:00
- 对应东八区时间 (UTC+8): 2024-01-01 00:00:00(2023-12-31 16:00:00 + 8 小时)
- UTC: 2022-12-31 16:00:00
参数说明:
"id": "任务标识ID",
"text": "描述",
"start": "指定归档的数据起始时间,UTC 时区(retentionDays值大于0则此配置自动失效),归档大于等于这个时间的数据",
"end": "指定归档的数据结束时间,UTC 时区(retentionDays值大于0则此配置自动失效),归档小于这个时间的数据",
"src": "来源库连接地址",
"archive": "目标库连接地址(如果值为空,则不归档只按照设定的规则进行删除)",
"table": "数据表",
"delete": "默认为true,在当次归档任务完成后,并且校验记录数量正确时清理来源库已归档数据,不需要删除则改为 false",
"batchSize": "单次批量插入以及批量删除条数",
"retentionDays": "默认值为0。大于0时代表删除多少天前的数据,并开启定时删除任务模式,start与end指定的日期自动失效,默认每24h执行一次",
"concurrencyLimit": "并发操作限制,值通常默认保持100即可"