方法 - 1
您可以使用 spring-cloud-dataflow 提供的 restful api 来清理任务执行。
请求结构
DELETE /tasks/executions/{ids}?action=CLEANUP,REMOVE_DATA HTTP/1.1
Host: localhost:9393
触发 DELETE 请求。
http://<stream-url>/tasks/executions/<task-ids-seperated-by-coma>?action=CLEANUP,REMOVE_DATA
eg: http://localhost:9393/tasks/executions/1,2?action=CLEANUP,REMOVE_DATA
删除任务执行
注意:上面的 api 将清理用于部署任务的资源,并从底层持久性存储中删除与任务执行相关的数据。
CLEANUP:清理资源
REMOVE_DATA:从持久存储中删除数据。
您可以同时传递两个操作或单个操作,具体取决于您的用例。
方法 - 2
使用弹簧云数据流外壳。
进入 spring-cloud-dataflow shell 并执行以下命令。
task execution cleanup --id <task-id>
eg: task execution cleanup --id 1
从 spring-cloud-dataflow shell 清理任务执行
其他选项(仅适用于 kubernetes 平台)
如果您不想删除所有已完成的 pod,则可以使用 kubectl 工具删除。
kubectl delete pod --field-selector=status.phase==Succeeded -l role=spring-app -n <namespace-where-tasks-launched>
如果您不想删除所有带有错误状态的 pod,请执行以下命令
kubectl delete pod --field-selector=status.phase==Failed -l role=spring-app -n <namespace-where-tasks-launched>