| | |
| | | |
| | | 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.framework.tenant.core.context.TenantContextHolder; |
| | | import com.iailab.module.shasteel.job.entity.ScheduleJobEntity; |
| | | import com.iailab.module.shasteel.job.entity.ScheduleJobLogEntity; |
| | | import com.iailab.module.shasteel.job.service.ScheduleJobLogService; |
| | | import com.iailab.module.shasteel.util.SpringContextUtils; |
| | | import org.quartz.DisallowConcurrentExecution; |
| | | import org.quartz.JobExecutionContext; |
| | | import org.slf4j.Logger; |
| | |
| | | ScheduleJobEntity scheduleJob = (ScheduleJobEntity) context.getMergedJobDataMap(). |
| | | get(ScheduleUtils.JOB_PARAM_KEY); |
| | | |
| | | //设置当前租户 |
| | | 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(); |
| | |
| | | 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);*/ |
| | | } |
| | | } |
| | | } |