|
@@ -17,7 +17,7 @@ import org.slf4j.LoggerFactory;
|
|
|
|
|
|
public class ExportTask extends Thread {
|
|
|
|
|
|
- private static final Logger LOG = LoggerFactory.getLogger(ExportTask.class);
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(ExportTask.class);
|
|
|
|
|
|
private static int cacheLockTimeout = 60 * 2;
|
|
|
|
|
@@ -31,19 +31,21 @@ public class ExportTask extends Thread {
|
|
|
public void run() {
|
|
|
for (;;) {
|
|
|
try {
|
|
|
- LOG.debug("ExportTask start");
|
|
|
+ log.info("ExportTask start");
|
|
|
ExportTaskEntity et = exportTaskService.findExportTaskToDispose();
|
|
|
if (et == null) {
|
|
|
- LOG.debug("ExportTask sleeping");
|
|
|
+ log.info("ExportTask sleep 30s");
|
|
|
Util.sleep(30);
|
|
|
continue;
|
|
|
}
|
|
|
+
|
|
|
String cacheLock = "$_CACHE_LOCK:OE_EXPORT_TASK:" + et.getId();
|
|
|
Boolean lock = redisClient.setIfAbsent(cacheLock, cacheLock, cacheLockTimeout);
|
|
|
if (!lock) {
|
|
|
- LOG.debug("ExportTask get lock failed");
|
|
|
+ log.info("ExportTask lock... " + cacheLock);
|
|
|
continue;
|
|
|
}
|
|
|
+
|
|
|
try {
|
|
|
exportTaskService.startExportTask(et.getId());
|
|
|
if (ExportTaskType.EXAM_DETAIL.equals(et.getType())) {
|
|
@@ -59,9 +61,9 @@ public class ExportTask extends Thread {
|
|
|
} finally {
|
|
|
redisClient.delete(cacheLock);
|
|
|
}
|
|
|
- LOG.debug("ExportTask end");
|
|
|
+ log.info("ExportTask end");
|
|
|
} catch (Exception e) {
|
|
|
- LOG.error("ExportTask error ", e);
|
|
|
+ log.error("ExportTask error " + e.getMessage(), e);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -79,7 +81,7 @@ public class ExportTask extends Thread {
|
|
|
|
|
|
/**
|
|
|
* 考试明细
|
|
|
- *
|
|
|
+ *
|
|
|
* @param et
|
|
|
*/
|
|
|
private void examRecordDetails(ExportTaskEntity et) {
|
|
@@ -90,7 +92,7 @@ public class ExportTask extends Thread {
|
|
|
|
|
|
/**
|
|
|
* 成绩统计
|
|
|
- *
|
|
|
+ *
|
|
|
* @param et
|
|
|
*/
|
|
|
private void examScores(ExportTaskEntity et) {
|
|
@@ -101,7 +103,7 @@ public class ExportTask extends Thread {
|
|
|
|
|
|
/**
|
|
|
* 考试进度
|
|
|
- *
|
|
|
+ *
|
|
|
* @param et
|
|
|
*/
|
|
|
private void examScheduling(ExportTaskEntity et) {
|