Does anyone know how the processing server handles concurrency of batches? Does it work FIFO style or does it cycle between existing batches waiting for recognition? Thanks
Remember that the Processing Server doesn't do the actual work. In reality, the Processing Server acts load balancer for the Processing Stations (Import, Recog, Export). So it really depends on how many Processing Stations/Cores you set to do these work. If for example, you only set 1 core, it will cycle through it. i.e.
You drop two images, one after the other in a hot folder. First image will be preprocessed and put into a batch (assuming this is 1 image per batch). First images goes to Recog Second image will be preprocessed and into a new batch Check folder for more files First Image will start export Second image will start export
As you can see, it doesn't stay with one batch. It sort of cycle through the various task. The more cores you have allocated, the more it can do at the same time. Also I think I read somewhere Export gets priority so as to not have all the batches stuck in the system.
If I'm wrong, please feel free to correct me anyone.
Remember each batch goes by steps. Import, Rec, Export. So if the 1000 image batch are in Rec stage, then the 10 image batch has to wait until the Recognition step is done before it polls the file. So after the 1000 image batch is done with recognition, most likely it will pull in the 10 image batch, do some preprocessing and pull it into the system. It would probably go back to the 1K image and start the export next. Then it would go back to the 10 image and start the recognition.
So just because 1000 images are being processes, doesn't mean it pause processing and pull in the new images. So to answer your question, if you have 1 Core only being used, then yes the second batch would need to wait for the Rec Stage before it would get picked up.
Comments
2 comments
Remember that the Processing Server doesn't do the actual work. In reality, the Processing Server acts load balancer for the Processing Stations (Import, Recog, Export). So it really depends on how many Processing Stations/Cores you set to do these work. If for example, you only set 1 core, it will cycle through it. i.e.
You drop two images, one after the other in a hot folder.
First image will be preprocessed and put into a batch (assuming this is 1 image per batch).
First images goes to Recog
Second image will be preprocessed and into a new batch
Check folder for more files
First Image will start export
Second image will start export
As you can see, it doesn't stay with one batch. It sort of cycle through the various task. The more cores you have allocated, the more it can do at the same time. Also I think I read somewhere Export gets priority so as to not have all the batches stuck in the system.
If I'm wrong, please feel free to correct me anyone.
atorino,
Remember each batch goes by steps. Import, Rec, Export. So if the 1000 image batch are in Rec stage, then the 10 image batch has to wait until the Recognition step is done before it polls the file. So after the 1000 image batch is done with recognition, most likely it will pull in the 10 image batch, do some preprocessing and pull it into the system. It would probably go back to the 1K image and start the export next. Then it would go back to the 10 image and start the recognition.
So just because 1000 images are being processes, doesn't mean it pause processing and pull in the new images. So to answer your question, if you have 1 Core only being used, then yes the second batch would need to wait for the Rec Stage before it would get picked up.
Please sign in to leave a comment.