|
@@ -18,6 +18,7 @@ import java.util.concurrent.TimeUnit;
|
|
public class StatRunner {
|
|
public class StatRunner {
|
|
|
|
|
|
/*
|
|
/*
|
|
|
|
+ //手动创建线程池
|
|
private static ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("dirMonitorThread-call-runner-%d").build();
|
|
private static ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("dirMonitorThread-call-runner-%d").build();
|
|
private static ExecutorService dirMonitorPools = new ThreadPoolExecutor(1,1,0L,TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>(),namedThreadFactory);
|
|
private static ExecutorService dirMonitorPools = new ThreadPoolExecutor(1,1,0L,TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>(),namedThreadFactory);
|
|
private static ThreadFactory namedThreadFactory1 = new ThreadFactoryBuilder().setNameFormat("oldUploadThread-call-runner-%d").build();
|
|
private static ThreadFactory namedThreadFactory1 = new ThreadFactoryBuilder().setNameFormat("oldUploadThread-call-runner-%d").build();
|
|
@@ -27,60 +28,42 @@ public class StatRunner {
|
|
private static ThreadFactory namedThreadFactory3 = new ThreadFactoryBuilder().setNameFormat("addHistoryFileThread-call-runner-%d").build();
|
|
private static ThreadFactory namedThreadFactory3 = new ThreadFactoryBuilder().setNameFormat("addHistoryFileThread-call-runner-%d").build();
|
|
private static ExecutorService addHistoryFile2UploadPools = new ThreadPoolExecutor(1,2,0L,TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>(),namedThreadFactory3);
|
|
private static ExecutorService addHistoryFile2UploadPools = new ThreadPoolExecutor(1,2,0L,TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>(),namedThreadFactory3);
|
|
*/
|
|
*/
|
|
-
|
|
|
|
private static ExecutorService dirMonitorPools = null;
|
|
private static ExecutorService dirMonitorPools = null;
|
|
private static ExecutorService oldUploadPools = null;
|
|
private static ExecutorService oldUploadPools = null;
|
|
//新
|
|
//新
|
|
private static ExecutorService currentUploadPools = null;
|
|
private static ExecutorService currentUploadPools = null;
|
|
//历史文件记录
|
|
//历史文件记录
|
|
private static ExecutorService addHistoryFile2UploadPools = null;
|
|
private static ExecutorService addHistoryFile2UploadPools = null;
|
|
- //重试历史文件记录
|
|
|
|
- private static ExecutorService retryHistoryFile2UploadPools = null;
|
|
|
|
//成功备份移除
|
|
//成功备份移除
|
|
private static ExecutorService successPools = null;
|
|
private static ExecutorService successPools = null;
|
|
- //重试文件夹
|
|
|
|
- private static ExecutorService retryDirMonitorPools = null;
|
|
|
|
//重试上传线程
|
|
//重试上传线程
|
|
private static ExecutorService retryUploadPools = null;
|
|
private static ExecutorService retryUploadPools = null;
|
|
-
|
|
|
|
public static void start() {
|
|
public static void start() {
|
|
- dirMonitorPools = generateSinglePools(dirMonitorPools);
|
|
|
|
|
|
+ dirMonitorPools = generateSinglePools(dirMonitorPools );
|
|
dirMonitorPools.execute(new DirMonitor() );
|
|
dirMonitorPools.execute(new DirMonitor() );
|
|
- //重试文件监听
|
|
|
|
- retryDirMonitorPools = generateSinglePools(retryDirMonitorPools);
|
|
|
|
- retryDirMonitorPools.execute(new RetryDirMonitor() );
|
|
|
|
-//成功备份移除
|
|
|
|
|
|
+ //成功备份移除
|
|
successPools = generatePools(successPools, 2);
|
|
successPools = generatePools(successPools, 2);
|
|
successPools.execute(new SuccessUploadQuenu());
|
|
successPools.execute(new SuccessUploadQuenu());
|
|
-//老文件放入老文件集合
|
|
|
|
|
|
+ //老文件or重试放入队列
|
|
addHistoryFile2UploadPools = generatePools(addHistoryFile2UploadPools, 2);
|
|
addHistoryFile2UploadPools = generatePools(addHistoryFile2UploadPools, 2);
|
|
- addHistoryFile2UploadPools.execute(new HistoryFile2UploadQuenu());
|
|
|
|
- //重试老文件放入老文件集合
|
|
|
|
- retryHistoryFile2UploadPools = generatePools(retryHistoryFile2UploadPools, 2);
|
|
|
|
- retryHistoryFile2UploadPools.execute(new HistoryFile2UploadQuenu());
|
|
|
|
|
|
+ addHistoryFile2UploadPools.execute(new HistoryFileQuenuRunner());
|
|
try {
|
|
try {
|
|
TimeUnit.SECONDS.sleep(1);
|
|
TimeUnit.SECONDS.sleep(1);
|
|
} catch (InterruptedException e) {
|
|
} catch (InterruptedException e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
- //老上传
|
|
|
|
|
|
+ //老上传
|
|
oldUploadPools = generatePools(oldUploadPools, 2);
|
|
oldUploadPools = generatePools(oldUploadPools, 2);
|
|
oldUploadPools.execute(new OldUploadRunner());
|
|
oldUploadPools.execute(new OldUploadRunner());
|
|
-//新上传
|
|
|
|
|
|
+ //oldUploadPools.execute(new FileUploadsOss(UploadsQueue.fileQueue));
|
|
|
|
+ //新上传
|
|
currentUploadPools = generatePools(currentUploadPools, 2);
|
|
currentUploadPools = generatePools(currentUploadPools, 2);
|
|
currentUploadPools.execute(new CurrentUploadRunner());
|
|
currentUploadPools.execute(new CurrentUploadRunner());
|
|
-//重试
|
|
|
|
|
|
+ //重试上传
|
|
retryUploadPools = generatePools(retryUploadPools, 2);
|
|
retryUploadPools = generatePools(retryUploadPools, 2);
|
|
retryUploadPools.execute(new RetryUploadRunner());
|
|
retryUploadPools.execute(new RetryUploadRunner());
|
|
-
|
|
|
|
|
|
+ // retryUploadPools.execute(new FileUploadsOss(UploadsQueue.failFileQueue));
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
public static ExecutorService generatePools(ExecutorService oldPool, int length) {
|
|
public static ExecutorService generatePools(ExecutorService oldPool, int length) {
|
|
if (oldPool != null && !oldPool.isTerminated()) {
|
|
if (oldPool != null && !oldPool.isTerminated()) {
|
|
oldPool.shutdown();
|
|
oldPool.shutdown();
|