|
@@ -1,25 +1,15 @@
|
|
package cn.com.qmth.examcloud.task.service.job;
|
|
package cn.com.qmth.examcloud.task.service.job;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
import java.util.Calendar;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
-import java.util.List;
|
|
|
|
-
|
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
-import org.springframework.data.domain.Page;
|
|
|
|
-import org.springframework.data.domain.PageRequest;
|
|
|
|
-import org.springframework.data.domain.Pageable;
|
|
|
|
-import org.springframework.data.domain.Sort;
|
|
|
|
-import org.springframework.data.jpa.domain.Specification;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import cn.com.qmth.examcloud.task.base.AbstractTask;
|
|
import cn.com.qmth.examcloud.task.base.AbstractTask;
|
|
import cn.com.qmth.examcloud.task.base.ScheduleJob;
|
|
import cn.com.qmth.examcloud.task.base.ScheduleJob;
|
|
import cn.com.qmth.examcloud.task.base.TaskTracker;
|
|
import cn.com.qmth.examcloud.task.base.TaskTracker;
|
|
import cn.com.qmth.examcloud.task.dao.TaskTraceRepo;
|
|
import cn.com.qmth.examcloud.task.dao.TaskTraceRepo;
|
|
-import cn.com.qmth.examcloud.task.dao.entity.TaskTraceEntity;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 任务跟踪记录清理
|
|
* 任务跟踪记录清理
|
|
@@ -39,27 +29,12 @@ public class TaskTraceCleanTask extends AbstractTask {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void run(ScheduleJob scheduleJob) throws Exception {
|
|
public void run(ScheduleJob scheduleJob) throws Exception {
|
|
- Specification<TaskTraceEntity> specification = (root, query, cb) -> {
|
|
|
|
- List<Predicate> predicates = new ArrayList<>();
|
|
|
|
- // 清理过去7天前的数据
|
|
|
|
- Calendar c = Calendar.getInstance();
|
|
|
|
- c.setTime(new Date());
|
|
|
|
- c.add(Calendar.DATE, -7);
|
|
|
|
- Date d = c.getTime();
|
|
|
|
- Predicate p3 = cb.lessThan(root.get("creationTime"), d);
|
|
|
|
- predicates.add(p3);
|
|
|
|
-
|
|
|
|
- return cb.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- while (true) {
|
|
|
|
- Pageable pageable = new PageRequest(0, 50, Sort.Direction.ASC, "creationTime");
|
|
|
|
- Page<TaskTraceEntity> list = taskTraceRepo.findAll(specification, pageable);
|
|
|
|
- if (1 > list.getSize()) {
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- taskTraceRepo.delete(list);
|
|
|
|
- }
|
|
|
|
|
|
+ // 清理过去7天前的数据
|
|
|
|
+ Calendar c = Calendar.getInstance();
|
|
|
|
+ c.setTime(new Date());
|
|
|
|
+ c.add(Calendar.DATE, -7);
|
|
|
|
+ Date d = c.getTime();
|
|
|
|
+ taskTraceRepo.deleteByCreationTimeLessThan(d);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|