RED-7669: optimize OCR-module performance

* fix thread handling for PDFs without any images
This commit is contained in:
Kilian Schuettler 2023-12-22 15:04:52 +01:00
parent 80d38fb785
commit 6f29270e66
2 changed files with 9 additions and 5 deletions

View File

@ -96,6 +96,7 @@ public class OcrImageFactory {
} }
imageProcessingThread.setAllImagesExtracted(true); imageProcessingThread.setAllImagesExtracted(true);
imageProcessingThread.interrupt();
imageProcessingThread.join(); imageProcessingThread.join();

View File

@ -57,13 +57,16 @@ public class ImageProcessingThread extends Thread {
@Override @Override
public void run() { public void run() {
while (!allImagesExtracted) { try {
final UnprocessedImage image = imageInputQueue.take(); while (!allImagesExtracted) {
var ocrImage = this.process(image); final UnprocessedImage image = imageInputQueue.take();
imageOutputQueue.put(ocrImage); var ocrImage = this.process(image);
imageOutputQueue.put(ocrImage);
}
} catch (InterruptedException e) {
log.info("All images extracted, emptying processing queue and stopping");
} }
try { try {
while (true) { while (true) {
final UnprocessedImage image = imageInputQueue.remove(); final UnprocessedImage image = imageInputQueue.remove();