Merge batch support (#103)

* Update FileListWorker.java

* Support batch processing

Multicast controller and a couple of additional commands to work with
the batch processing plugin.

* Database float unpack

Better unpacking checks of floats coming back from the database

* Batch changes

Changes in support of batch processing
This commit is contained in:
Douglas Gillespie 2023-04-07 18:36:51 +01:00 committed by GitHub
parent 7ae7739b22
commit 87db5ae6ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 5 deletions

View File

@ -876,16 +876,30 @@ public class FolderInputSystem extends FileInputSystem implements PamSettings, D
* processing will continue from there.
*/
if (allFiles == null || allFiles.size() == 0) {
System.out.println("Daq setanal start time: no files to check against");
return false;
}
System.out.printf("setAnalysisStarttTime: checking %d files for start time of %s\n", allFiles.size(), PamCalendar.formatDBDateTime(startTime));
/*
* If the starttime is maxint then there is nothing to do, but we do need to set the file index
* correctly to not over confuse the batch processing system.
*/
long lastFileTime = getFileStartTime(allFiles.get(allFiles.size()-1).getAbsoluteFile());
if (startTime > lastFileTime) {
currentFile = allFiles.size();
System.out.println("Folder Acquisition processing is complete and no files require processing");
return true;
}
for (int i = 0; i < allFiles.size(); i++) {
long fileStart = getFileStartTime(allFiles.get(i).getAbsoluteFile());
if (fileStart >= startTime) {
currentFile = i;
PamCalendar.setSoundFile(true);
PamCalendar.setSessionStartTime(startTime);
System.out.printf("Sound Acquisition start processing at file %s time %s\n", allFiles.get(i).getName(),
PamCalendar.formatDBDateTime(fileStart));
if (startTime > 0) {
PamCalendar.setSessionStartTime(startTime);
System.out.printf("Sound Acquisition start processing at file %s time %s\n", allFiles.get(i).getName(),
PamCalendar.formatDBDateTime(fileStart));
}
return true;
}
}

View File

@ -20,7 +20,10 @@ public class ExitCommand extends ExtCommand {
public String execute(String command) {
PamController.getInstance().pamStop();
PamSettingManager.getInstance().saveFinalSettings();
System.exit(0);
PamController pamController = PamController.getInstance();
pamController.pamClose();
// shut down the JavaFX thread and the JVM
pamController.shutDownPamguard();
return getName();
}

View File

@ -54,13 +54,19 @@ public class ReprocessManager {
// need to decide what to do based on the list of possible choices.
ReprocessStoreChoice choice = chosePartStoreAction(choiceSummary);
/**
* Need to call this even though we aren't reprocessing so that
* the Folderinput stream reports correctly on how many files have
* been processed.
*/
boolean setupOK = setupInputStream(choiceSummary, choice);
if (choice == ReprocessStoreChoice.DONTSSTART) {
return false;
}
boolean deleteOK = deleteOldData(choiceSummary, choice);
boolean setupOK = setupInputStream(choiceSummary, choice);
return true;