Skip to content

Commit

Permalink
perf: 当业务不存在后,对于在JOB的周期性任务是否应该停止的处理机制 TencentBlueKing#621
Browse files Browse the repository at this point in the history
  • Loading branch information
liuliaozhong committed Mar 14, 2024
1 parent fda64f8 commit 2c2a9e4
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -888,23 +888,25 @@ public boolean disableCronJobByAppId(Long appId) {
cronJobInfoDTO.setAppId(appId);
cronJobInfoDTO.setEnable(true);
List<Long> cronJobIdList = cronJobDAO.listCronJobIds(cronJobInfoDTO);
log.info("cron job will be disabled, appId:{}, cronJobIds:{}", appId, cronJobIdList);
List<Long> failedCronJobIds = new ArrayList<>();
for (Long cronJobId : cronJobIdList) {
try {
Boolean disableResult = changeCronJobEnableStatus(JobConstants.DEFAULT_SYSTEM_USER_ADMIN, appId,
cronJobId, false);
log.debug("disable cron job, result:{}, appId:{}, cronId:{}", disableResult, appId, cronJobId);
if (!disableResult) {
if (CollectionUtils.isNotEmpty(cronJobIdList)) {
log.info("cron job will be disabled, appId:{}, cronJobIds:{}", appId, cronJobIdList);
for (Long cronJobId : cronJobIdList) {
try {
Boolean disableResult = changeCronJobEnableStatus(JobConstants.DEFAULT_SYSTEM_USER_ADMIN, appId,
cronJobId, false);
log.debug("disable cron job, result:{}, appId:{}, cronId:{}", disableResult, appId, cronJobId);
if (!disableResult) {
failedCronJobIds.add(cronJobId);
}
} catch (Exception e) {
log.error("Failed to disable cron job with appId:{} and cronId:{}", appId, cronJobId, e);
failedCronJobIds.add(cronJobId);
}
} catch (Exception e) {
log.error("Failed to disable cron job with appId:{} and cronId:{}", appId, cronJobId, e);
failedCronJobIds.add(cronJobId);
}
}
if (!failedCronJobIds.isEmpty()) {
log.warn("Failed to disable cron jobs for appId:{} with cronJobIds:{}", appId, failedCronJobIds);
if (!failedCronJobIds.isEmpty()) {
log.warn("Failed to disable cron jobs for appId:{} with cronJobIds:{}", appId, failedCronJobIds);
}
}
return failedCronJobIds.isEmpty();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,15 @@ public void loadCronToQuartz() {
* 每上午10点把已归档业务(集)的定时任务禁用
*/
@Scheduled(cron = "0 0 10 * * ?")
public void disableCronJobTask() {
log.info(Thread.currentThread().getId() + ":disableCronJobTask start");
public void disableCronJobOfArchivedScopeTask() {
log.info(Thread.currentThread().getId() + ":disableCronJobOfArchivedScopeTask start");
long start = System.currentTimeMillis();
try {
disableCronJobOfArchivedScopeTask.execute();
} catch (Exception e) {
log.error("disableCronJobTask fail", e);
log.error("disableCronJobOfArchivedScopeTask fail", e);
} finally {
log.info("disableCronJobTask end, duration={}ms", System.currentTimeMillis() - start);
log.info("disableCronJobOfArchivedScopeTask end, duration={}ms", System.currentTimeMillis() - start);
}
}
}

0 comments on commit 2c2a9e4

Please sign in to comment.