|
@@ -153,7 +153,7 @@ public class BatchImportExamStudentTask implements TaskService {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
AtomicInteger successCount = new AtomicInteger(), failCount = new AtomicInteger();
|
|
|
if (total <= 1000) {
|
|
|
- this.singleRun(loginUser, dataList, successCount, failCount);
|
|
|
+ this.singleRun(loginUser, dataList, successCount, failCount, task.getId());
|
|
|
} else {
|
|
|
final int batchSize = 20;// 分批数量
|
|
|
|
|
@@ -164,7 +164,7 @@ public class BatchImportExamStudentTask implements TaskService {
|
|
|
for (int start = 0; start < cutTotal; start += batchSize) {
|
|
|
int end = Math.min(start + batchSize, cutTotal);
|
|
|
List<ExamStudentInfo> batchList = list.subList(start, end);
|
|
|
- this.concurrentRun(loginUser, batchList, successCount, failCount);
|
|
|
+ this.concurrentRun(loginUser, batchList, successCount, failCount, task.getId());
|
|
|
|
|
|
long cost = Math.max((System.currentTimeMillis() - startTime) / 1000L, 1);
|
|
|
int runCount = successCount.get() + failCount.get();
|
|
@@ -184,7 +184,7 @@ public class BatchImportExamStudentTask implements TaskService {
|
|
|
dataList.clear();
|
|
|
}
|
|
|
|
|
|
- private void singleRun(User loginUser, List<ExamStudentInfo> batchList, AtomicInteger successCount, AtomicInteger failCount) {
|
|
|
+ private void singleRun(User loginUser, List<ExamStudentInfo> batchList, AtomicInteger successCount, AtomicInteger failCount, Long taskId) {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
for (int n = 0; n < batchList.size(); n++) {
|
|
|
ExamStudentInfo examStudent = batchList.get(n);
|
|
@@ -193,7 +193,9 @@ public class BatchImportExamStudentTask implements TaskService {
|
|
|
successCount.incrementAndGet();
|
|
|
} catch (Exception e) {
|
|
|
failCount.incrementAndGet();
|
|
|
- log.error("学号:{} 执行失败!{}", examStudent.getStudentCode(), e.getMessage());
|
|
|
+ log.error("保存考生失败!taskId:{} examId:{} courseCode:{} identityNumber:{} studentCode:{} {}", taskId,
|
|
|
+ examStudent.getExamId(), examStudent.getCourseCode(), examStudent.getIdentityNumber(),
|
|
|
+ examStudent.getStudentCode(), e.getMessage());
|
|
|
}
|
|
|
|
|
|
long cost = Math.max((System.currentTimeMillis() - startTime) / 1000L, 1);
|
|
@@ -206,7 +208,7 @@ public class BatchImportExamStudentTask implements TaskService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void concurrentRun(User loginUser, List<ExamStudentInfo> batchList, AtomicInteger successCount, AtomicInteger failCount) {
|
|
|
+ private void concurrentRun(User loginUser, List<ExamStudentInfo> batchList, AtomicInteger successCount, AtomicInteger failCount, Long taskId) {
|
|
|
if (batchList.isEmpty()) {
|
|
|
return;
|
|
|
}
|
|
@@ -223,7 +225,9 @@ public class BatchImportExamStudentTask implements TaskService {
|
|
|
successCount.incrementAndGet();
|
|
|
} catch (Exception e) {
|
|
|
failCount.incrementAndGet();
|
|
|
- log.error("学号:{} 执行失败!{}", examStudent.getStudentCode(), e.getMessage());
|
|
|
+ log.error("保存考生失败!taskId:{} examId:{} courseCode:{} identityNumber:{} studentCode:{} {}", taskId,
|
|
|
+ examStudent.getExamId(), examStudent.getCourseCode(), examStudent.getIdentityNumber(),
|
|
|
+ examStudent.getStudentCode(), e.getMessage());
|
|
|
} finally {
|
|
|
worker.countDown();
|
|
|
}
|