From 8aadcbe920f02806b9fa363b386d3d6c693c5c56 Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期五, 07 二月 2025 16:49:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java | 30 +++++++++++++++++++----------- 1 files changed, 19 insertions(+), 11 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java index 489738f..5dd970a 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java @@ -1,19 +1,14 @@ -/** - * Copyright (c) 2018 人人开源 All rights reserved. - * - * https://www.renren.io - * - * 版权所有,侵权必究! - */ - package com.iailab.module.data.job.utils; import com.iailab.framework.common.constant.Constant; import com.iailab.framework.common.exception.ExceptionUtils; import com.iailab.framework.common.util.spring.SpringContextUtils; -import com.iailab.module.data.job.entity.ScheduleJobEntity; +import com.iailab.framework.tenant.core.context.TenantContextHolder; +import com.iailab.module.data.job.config.ScheduleJobListConfig; import com.iailab.module.data.job.entity.ScheduleJobEntity; import com.iailab.module.data.job.entity.ScheduleJobLogEntity; +import com.iailab.module.data.job.service.ScheduleJobLogService; +import org.quartz.DisallowConcurrentExecution; import org.quartz.JobExecutionContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,6 +23,7 @@ * * @author Mark sunlightcs@gmail.com */ +@DisallowConcurrentExecution public class ScheduleJob extends QuartzJobBean { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -36,12 +32,24 @@ ScheduleJobEntity scheduleJob = (ScheduleJobEntity) context.getMergedJobDataMap(). get(ScheduleUtils.JOB_PARAM_KEY); + // 过滤定时任务 + if (!ScheduleJobListConfig.scheduleJobList.contains(scheduleJob.getBeanName())) { + logger.info("过滤定时任务,BeanName=" + scheduleJob.getBeanName()); + return; + } + + //设置当前租户 + TenantContextHolder.setTenantId(scheduleJob.getTenantId()); + Long tenantId = TenantContextHolder.getRequiredTenantId(); + //数据库保存执行记录 ScheduleJobLogEntity log = new ScheduleJobLogEntity(); + log.setId(System.currentTimeMillis()); log.setJobId(scheduleJob.getId()); log.setBeanName(scheduleJob.getBeanName()); log.setParams(scheduleJob.getParams()); log.setCreateDate(new Date()); + log.setTenantId(tenantId); //任务开始时间 long startTime = System.currentTimeMillis(); @@ -72,8 +80,8 @@ log.setError(ExceptionUtils.getErrorStackTrace(e)); }finally { //获取spring bean - /*ScheduleJobLogService scheduleJobLogService = SpringContextUtils.getBean(ScheduleJobLogService.class); - scheduleJobLogService.insert(log);*/ + ScheduleJobLogService scheduleJobLogService = SpringContextUtils.getBean(ScheduleJobLogService.class); + //scheduleJobLogService.insert(log); } } } \ No newline at end of file -- Gitblit v1.9.3