added better catch and changed default executorService to null
parent
2bde644c76
commit
8b7dbdc8e8
|
@ -28,6 +28,7 @@ import org.apache.commons.io.FileUtils;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
@ -39,7 +40,7 @@ public class Globals {
|
||||||
private final static TextileLogger log = new TextileLogger(TextileBackup.MOD_NAME);
|
private final static TextileLogger log = new TextileLogger(TextileBackup.MOD_NAME);
|
||||||
public final static DateTimeFormatter defaultDateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH.mm.ss");
|
public final static DateTimeFormatter defaultDateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH.mm.ss");
|
||||||
|
|
||||||
private ExecutorService executorService = Executors.newSingleThreadExecutor();
|
private ExecutorService executorService = null;// = Executors.newSingleThreadExecutor();
|
||||||
public final AtomicBoolean globalShutdownBackupFlag = new AtomicBoolean(true);
|
public final AtomicBoolean globalShutdownBackupFlag = new AtomicBoolean(true);
|
||||||
public boolean disableWatchdog = false;
|
public boolean disableWatchdog = false;
|
||||||
private boolean disableTMPFiles = false;
|
private boolean disableTMPFiles = false;
|
||||||
|
@ -51,7 +52,7 @@ public class Globals {
|
||||||
public ExecutorService getQueueExecutor() { return executorService; }
|
public ExecutorService getQueueExecutor() { return executorService; }
|
||||||
|
|
||||||
public void resetQueueExecutor() {
|
public void resetQueueExecutor() {
|
||||||
if(!executorService.isShutdown()) return;
|
if(Objects.nonNull(executorService) && !executorService.isShutdown()) return;
|
||||||
executorService = Executors.newSingleThreadExecutor();
|
executorService = Executors.newSingleThreadExecutor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,9 @@ import net.szum123321.textile_backup.TextileLogger;
|
||||||
import net.szum123321.textile_backup.config.ConfigHelper;
|
import net.szum123321.textile_backup.config.ConfigHelper;
|
||||||
import net.szum123321.textile_backup.core.ActionInitiator;
|
import net.szum123321.textile_backup.core.ActionInitiator;
|
||||||
import net.szum123321.textile_backup.core.Cleanup;
|
import net.szum123321.textile_backup.core.Cleanup;
|
||||||
import net.szum123321.textile_backup.core.create.compressors.*;
|
|
||||||
import net.szum123321.textile_backup.core.Utilities;
|
import net.szum123321.textile_backup.core.Utilities;
|
||||||
|
import net.szum123321.textile_backup.core.create.compressors.ParallelZipCompressor;
|
||||||
|
import net.szum123321.textile_backup.core.create.compressors.ZipCompressor;
|
||||||
import net.szum123321.textile_backup.core.create.compressors.tar.AbstractTarArchiver;
|
import net.szum123321.textile_backup.core.create.compressors.tar.AbstractTarArchiver;
|
||||||
import net.szum123321.textile_backup.core.create.compressors.tar.ParallelBZip2Compressor;
|
import net.szum123321.textile_backup.core.create.compressors.tar.ParallelBZip2Compressor;
|
||||||
import net.szum123321.textile_backup.core.create.compressors.tar.ParallelGzipCompressor;
|
import net.szum123321.textile_backup.core.create.compressors.tar.ParallelGzipCompressor;
|
||||||
|
@ -86,11 +87,11 @@ public class MakeBackupRunnable implements Runnable {
|
||||||
switch (config.get().format) {
|
switch (config.get().format) {
|
||||||
case ZIP -> {
|
case ZIP -> {
|
||||||
if (coreCount > 1 && !Globals.INSTANCE.disableTMPFS()) {
|
if (coreCount > 1 && !Globals.INSTANCE.disableTMPFS()) {
|
||||||
ParallelZipCompressor.getInstance().createArchive(world, outFile, context, coreCount);
|
|
||||||
log.trace("Using PARALLEL Zip Compressor. Threads: {}", coreCount);
|
log.trace("Using PARALLEL Zip Compressor. Threads: {}", coreCount);
|
||||||
|
ParallelZipCompressor.getInstance().createArchive(world, outFile, context, coreCount);
|
||||||
} else {
|
} else {
|
||||||
ZipCompressor.getInstance().createArchive(world, outFile, context, coreCount);
|
|
||||||
log.trace("Using REGULAR Zip Compressor.");
|
log.trace("Using REGULAR Zip Compressor.");
|
||||||
|
ZipCompressor.getInstance().createArchive(world, outFile, context, coreCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case BZIP2 -> ParallelBZip2Compressor.getInstance().createArchive(world, outFile, context, coreCount);
|
case BZIP2 -> ParallelBZip2Compressor.getInstance().createArchive(world, outFile, context, coreCount);
|
||||||
|
@ -113,7 +114,8 @@ public class MakeBackupRunnable implements Runnable {
|
||||||
} else {
|
} else {
|
||||||
log.sendInfoAL(context, "Done!");
|
log.sendInfoAL(context, "Done!");
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (Throwable e) {
|
||||||
|
//ExecutorService swallows exception, so I need to catch everythin
|
||||||
log.error("An exception occurred when trying to create new backup file!", e);
|
log.error("An exception occurred when trying to create new backup file!", e);
|
||||||
|
|
||||||
if(context.initiator() == ActionInitiator.Player)
|
if(context.initiator() == ActionInitiator.Player)
|
||||||
|
|
Loading…
Reference in New Issue