Merge branch 'master' into fix_graceful_shutdown_callback_lose

This commit is contained in:
DanielWei 2019-09-27 14:42:14 +08:00 committed by GitHub
commit 35bceaac0b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 49 additions and 5 deletions

View File

@ -345,6 +345,20 @@ XXL-JOB是一个轻量级分布式任务调度平台其核心设计目标是
- 226、杭州找趣
- 227、浩鲸云计算科技股份有限公司
- 228、科大讯飞【科大讯飞】
- 229、杭州行装网络科技有限公司
- 230、即有分期金融
- 231、深圳法司德信息科技有限公司
- 232、上海博复信息科技有限公司
- 233、杭州云嘉云计算有限公司
- 234、有家民宿(有家美宿)
- 235、北京赢销通软件技术有限公司
- 236、浙江聚有财金融服务外包有限公司
- 237、易族智汇(北京)科技有限公司
- 238、合肥顶岭医疗科技开发有限公司
- 239、车船宝(深圳)旭珩科技有限公司)
- 240、广州富力地产有限公司
- 241、氢课上海教育科技有限公司
- 242、武汉氪细胞网络技术有限公司
- ……
> 更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 ) 登记,登记仅仅为了产品推广。

View File

@ -313,6 +313,20 @@ XXL-JOB是一个轻量级分布式任务调度平台其核心设计目标是
- 226、杭州找趣
- 227、浩鲸云计算科技股份有限公司
- 228、科大讯飞【科大讯飞】
- 229、杭州行装网络科技有限公司
- 230、即有分期金融
- 231、深圳法司德信息科技有限公司
- 232、上海博复信息科技有限公司
- 233、杭州云嘉云计算有限公司
- 234、有家民宿(有家美宿)
- 235、北京赢销通软件技术有限公司
- 236、浙江聚有财金融服务外包有限公司
- 237、易族智汇(北京)科技有限公司
- 238、合肥顶岭医疗科技开发有限公司
- 239、车船宝(深圳)旭珩科技有限公司)
- 240、广州富力地产有限公司
- 241、氢课上海教育科技有限公司
- 242、武汉氪细胞网络技术有限公司
- ……
> 更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 ) 登记,登记仅仅为了产品推广。

View File

@ -5,6 +5,7 @@ import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
import com.xxl.job.admin.core.trigger.TriggerTypeEnum;
import com.xxl.job.admin.core.util.I18nUtil;
import com.xxl.job.admin.dao.XxlJobGroupDao;
import com.xxl.job.admin.dao.XxlJobInfoDao;
import com.xxl.job.admin.dao.XxlJobLogDao;
import com.xxl.job.admin.dao.XxlJobRegistryDao;
@ -35,6 +36,8 @@ public class AdminBizImpl implements AdminBiz {
private XxlJobInfoDao xxlJobInfoDao;
@Resource
private XxlJobRegistryDao xxlJobRegistryDao;
@Resource
private XxlJobGroupDao xxlJobGroupDao;
@Override
@ -126,14 +129,26 @@ public class AdminBizImpl implements AdminBiz {
int ret = xxlJobRegistryDao.registryUpdate(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue());
if (ret < 1) {
xxlJobRegistryDao.registrySave(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue());
// fresh
freshGroupRegistryInfo(registryParam);
}
return ReturnT.SUCCESS;
}
@Override
public ReturnT<String> registryRemove(RegistryParam registryParam) {
xxlJobRegistryDao.registryDelete(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue());
int ret = xxlJobRegistryDao.registryDelete(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue());
if (ret > 0) {
// fresh
freshGroupRegistryInfo(registryParam);
}
return ReturnT.SUCCESS;
}
private void freshGroupRegistryInfo(RegistryParam registryParam){
// Under consideration, prevent affecting core tables
}
}

View File

@ -54,7 +54,7 @@ public class ExecutorBizImpl implements ExecutorBiz {
return ReturnT.SUCCESS;
}
return new ReturnT<String>(ReturnT.SUCCESS_CODE, "job thread aleady killed.");
return new ReturnT<String>(ReturnT.SUCCESS_CODE, "job thread already killed.");
}
@Override

View File

@ -86,11 +86,15 @@ public class XxlJobExecutor {
initRpcProvider(ip, port, appName, accessToken);
}
public void destroy(){
List<JobThread> runningThreads = new ArrayList<>(jobThreadRepository.values());
if (logger.isInfoEnabled()) {
logger.info("running threads {}", runningThreads);
}
// destory executor-server
stopRpcProvider();
// destory jobThreadRepository
if (jobThreadRepository.size() > 0) {
for (Map.Entry<Integer, JobThread> item: jobThreadRepository.entrySet()) {
@ -116,9 +120,6 @@ public class XxlJobExecutor {
// destory TriggerCallbackThread
TriggerCallbackThread.getInstance().toStop();
// destory executor-server
stopRpcProvider();
// destory invoker
stopInvokerFactory();
}