Make sure ingest jobs with empty directories finish

This commit is contained in:
Richard Cordovano 2014-05-22 14:44:33 -04:00
parent b86f6c3088
commit 00ba1b610a

View File

@ -83,21 +83,18 @@ final class FileIngestTaskScheduler implements IngestTaskQueue {
} }
} }
// Enqueue file ingest tasks for the top level files. // Try to enqueue file ingest tasks for the top level files.
boolean fileTasksAdded = false;
for (AbstractFile firstLevelFile : topLevelFiles) { for (AbstractFile firstLevelFile : topLevelFiles) {
FileIngestTask fileTask = new FileIngestTask(job, firstLevelFile); FileIngestTask fileTask = new FileIngestTask(job, firstLevelFile);
if (shouldEnqueueTask(fileTask)) { if (shouldEnqueueTask(fileTask)) {
synchronized (this) { synchronized (this) {
rootDirectoryTasksQueue.add(fileTask); rootDirectoryTasksQueue.add(fileTask);
} }
fileTasksAdded = true;
} }
} }
if (fileTasksAdded) { updateTaskQueues();
updateTaskQueues();
} return !fileTasks.isEmpty();
return fileTasksAdded;
} }
void scheduleTask(IngestJob job, AbstractFile file) throws InterruptedException { void scheduleTask(IngestJob job, AbstractFile file) throws InterruptedException {