简介
在 navicat 等数据库工具中, 可以停止正在执行的 sql 语句.
本工具集提供了类似功能, 允许在 java 层面结束正在执行的 sql 语句.
web 版接口

job status 接口可以看到所有正在执行的 sql 及其日志.
页面上的 kill 按钮可以向相关线程发出 interrupt 信号.
相关线程收到 interrupt 信号后,会在下一个检查点结束任务.
注意: 某些情况下任务无法立刻结束, 比如 mongodb / mpp 等外部引擎正在计算逻辑中, 还没有开始返回数据. 必须要等到开始返回数据了才能结束任务.
java 接口
// 获取所有正在执行的sql
Set<String> statusKeySet = ProcessPool.getAllStatusMap().keySet();
// 一个 ProcessTask 对应 show precessList 中的一行
ProcessTask processTask = ProcessPool.getAllStatusMap().get(statusKey);
// 结束一个sql
JobStatusPool.interrupt(String statusKey)