This is a non-trivial problem, which I have been working towards for some time.
There is also a large danger of bugs (i.e. race conditions) which cannot be reproduced on different systems. Many of the libraries, such as tesseract, already are multi-threaded. Several of the algorithms in imagemagick are multi-threaded. However, your idea about tying worker queues to page numbers had not occurred to me, and I like it. And I like the idea about a global queue for multi-page or multi-threaded processes, too. Please don't expect his to be solved quickly.
signature.asc
Description: OpenPGP digital signature