Commit fea5cb28 by 陶光胜

取数平台下载优化

parent 559330bd
......@@ -16,6 +16,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.opencsv.CSVWriter;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -28,6 +29,9 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
......@@ -143,11 +147,13 @@ public class DownloadTaskServiceImpl implements IDownloadTaskService {
}
/** 下载任务执行计时器 */
private Timer downloadTaskTimer = new Timer();
//private Timer downloadTaskTimer = new Timer();
ScheduledExecutorService deleteExpireTaskService = new ScheduledThreadPoolExecutor(1,
new BasicThreadFactory.Builder().namingPattern("deleteExpireTask-%d").daemon(true).build());
/** 启动自动清理下载任务服务 */
private void runDownloadCleanTask(Integer interval) {
this.downloadTaskTimer.schedule(new TimerTask() {
deleteExpireTaskService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
Calendar calc = Calendar.getInstance();
......@@ -160,8 +166,8 @@ public class DownloadTaskServiceImpl implements IDownloadTaskService {
deleteDownloadTask(task.getId());
} // 遍历删除
} // IF OVER
} // run Define Over
}, interval * 1000, interval * 1000);// 配置中的值为毫秒
}
}, interval*1000,interval*1000, TimeUnit.MILLISECONDS);
}
......
......@@ -19,6 +19,7 @@ import com.google.common.collect.Lists;
import com.opencsv.CSVWriter;
import com.opencsv.ResultSetHelper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
......@@ -34,6 +35,9 @@ import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Date;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
......@@ -351,11 +355,13 @@ public class FreeQueryServiceImpl implements IFreeQueryService {
private static SimpleDateFormat timeFormatter = new SimpleDateFormat("HH:mm:ss");
/** 下载任务执行计时器 */
private Timer downloadTaskTimer = new Timer();
//private Timer downloadTaskTimer = new Timer();
ScheduledExecutorService freeDownloadService = new ScheduledThreadPoolExecutor(1,
new BasicThreadFactory.Builder().namingPattern("freeDownloadTimer-%d").daemon(true).build());
/** 启动自助指标查询计划任务 */
private void runDownloadTask(Integer interval) {
this.downloadTaskTimer.schedule(new TimerTask() {
freeDownloadService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
try {
......@@ -515,18 +521,21 @@ public class FreeQueryServiceImpl implements IFreeQueryService {
log.debug("自定义查询下载异常", e.getMessage());
e.printStackTrace();
}
} // run Define Over
}, interval * 1000, interval * 1000);// 配置中的值为毫秒
}
}, interval*1000, interval*1000, TimeUnit.MILLISECONDS);
}
/** 下载申请检查计时器 */
private Timer applyTimer = new Timer();
//private Timer applyTimer = new Timer();
ScheduledExecutorService freeApplyService = new ScheduledThreadPoolExecutor(1,
new BasicThreadFactory.Builder().namingPattern("freeApplyTimer-%d").daemon(true).build());
/** 运行下载申请任务
* @param interval
*/
private void runApplyTask(Integer interval) {
this.applyTimer.schedule(new TimerTask() {
this.freeApplyService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
List<DownloadTask> waitingTasks = DownloadTaskServiceImpl.getInstance().getDownloadTaskOfWaiting(QueryDataSource.FREE_QUERY);
......@@ -578,9 +587,9 @@ public class FreeQueryServiceImpl implements IFreeQueryService {
} // IF OVER
} // IF ELSE OVER
}
} // FOR OVER
} // RUN OVER
}, interval * 1000, interval * 1000);// 配置中的值为毫秒
}
}
}, interval*1000, interval*1000, TimeUnit.MILLISECONDS);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment