Unverified 提交 ebe88bd7 authored 作者: 许雪里's avatar 许雪里 提交者: GitHub

Merge pull request #1104 from WEIZIBIN/fix_graceful_shutdown_callback_lose

修复优雅停机时,中断线程后,任务状态没有同步到admin
...@@ -84,6 +84,12 @@ public class XxlJobExecutor { ...@@ -84,6 +84,12 @@ public class XxlJobExecutor {
initRpcProvider(ip, port, appName, accessToken); initRpcProvider(ip, port, appName, accessToken);
} }
public void destroy(){ public void destroy(){
List<JobThread> runningThreads = new ArrayList<>(jobThreadRepository.values());
if (logger.isInfoEnabled()) {
logger.info("running threads {}", runningThreads);
}
// destory executor-server // destory executor-server
stopRpcProvider(); stopRpcProvider();
...@@ -96,6 +102,15 @@ public class XxlJobExecutor { ...@@ -96,6 +102,15 @@ public class XxlJobExecutor {
} }
jobHandlerRepository.clear(); jobHandlerRepository.clear();
for (JobThread runningThread : runningThreads) {
try {
// wait for all job thread push result to callback queue
runningThread.join();
} catch (InterruptedException e) {
logger.warn("interrupted while stopping {}", runningThread);
break;
}
}
// destory JobLogFileCleanThread // destory JobLogFileCleanThread
JobLogFileCleanThread.getInstance().toStop(); JobLogFileCleanThread.getInstance().toStop();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论