1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package cn.cslg.pas.service.upLoadPatent;
- import cn.cslg.pas.domain.Task;
- import cn.cslg.pas.domain.asso.AssoOsTaskQrtzTask;
- import cn.cslg.pas.service.TaskService;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import lombok.RequiredArgsConstructor;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.quartz.DisallowConcurrentExecution;
- import org.quartz.JobDataMap;
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
- import org.springframework.scheduling.quartz.QuartzJobBean;
- import java.util.Arrays;
- import java.util.List;
- /**
- * 定义任务
- */
- @RequiredArgsConstructor
- @DisallowConcurrentExecution
- public class TaskAddJob extends QuartzJobBean {
- private static final Log logger = LogFactory.getLog(TaskAddJob.class);
- private boolean flag = true;
- private final PantentQueueService pantentQueueService;
- private final TaskService taskService;
- @Override
- public void executeInternal(JobExecutionContext context) throws JobExecutionException {
- JobDataMap jobDataMap = context.getTrigger().getJobDataMap();
- AssoOsTaskQrtzTask assoOsTaskQrtzTask = (AssoOsTaskQrtzTask) jobDataMap.get("assoOsTaskQrtzTask");
- Task task = new Task();
- task.setQrtzTaskId(assoOsTaskQrtzTask.getId());
- task.setTotal(assoOsTaskQrtzTask.getTotal());
- task.setStatus(0);
- taskService.save(task);
- //任务存入生产者任务队列并唤醒生产者线程(判断若没有进行中的任务则唤醒)
- pantentQueueService.taskQueueAddTask(Arrays.asList(task.getId()));
- pantentQueueService.awakeTasktch();
- logger.info("添加任务" + "信息是" + task);
- }
- }
|