dengzedong
2025-02-27 6205c22a959fbb3b69735f34af8d3316c4082a5d
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java
@@ -4,8 +4,10 @@
import com.iailab.framework.common.exception.ExceptionUtils;
import com.iailab.framework.common.util.spring.SpringContextUtils;
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;
@@ -30,15 +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();
@@ -69,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);
      }
    }
}