Browse Source

Don't attempt to cleanup the filesystem if a build is in progress.

This isn't essential but it helps to reduce unnecessary load and processing which would be better spent on building.
qdn
CalDescent 3 years ago
parent
commit
fd795b4361
  1. 3
      src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java
  2. 5
      src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java
  3. 11
      src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java

3
src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java

@ -129,12 +129,13 @@ public class ArbitraryDataReader {
}
private void preExecute() {
ArbitraryDataManager.getInstance().setBuildInProgress(true);
this.createWorkingDirectory();
this.createUncompressedDirectory();
}
private void postExecute() {
ArbitraryDataManager.getInstance().setBuildInProgress(false);
}
private void createWorkingDirectory() {

5
src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java

@ -106,6 +106,11 @@ public class ArbitraryDataCleanupManager extends Thread {
continue;
}
// Don't interfere with the filesystem whilst a build is in progress
if (ArbitraryDataManager.getInstance().getBuildInProgress()) {
Thread.sleep(5000);
}
// Fetch the transaction data
ArbitraryTransactionData arbitraryTransactionData = ArbitraryTransactionUtils.fetchTransactionData(repository, signature);

11
src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java

@ -36,6 +36,8 @@ public class ArbitraryDataManager extends Thread {
private static ArbitraryDataManager instance;
private boolean buildInProgress = false;
private volatile boolean isStopping = false;
@ -411,6 +413,15 @@ public class ArbitraryDataManager extends Thread {
}
public void setBuildInProgress(boolean buildInProgress) {
this.buildInProgress = buildInProgress;
}
public boolean getBuildInProgress() {
return this.buildInProgress;
}
// Network handlers
public void onNetworkGetArbitraryDataMessage(Peer peer, Message message) {

Loading…
Cancel
Save