Well, I didn't get stuck after all, everything
appears to be working OK

However there were a few things I didn't fully understand. Perhaps you could enlighten me?
- ParallelJob. This class has an argument called 'description'. What is this? I took a guess that it was an alphanumeric string that needed to be unique across all the individual queued jobs.
- The argument 'timeout' in the method which does the actual work for each job. I have a method:
Code:
def process_file(log, abort, myarg1, myarg2, timeout=30, in_process=True):
What exactly is this timeout and how do you decide on a suitable value?
- The .py file for the Microsoft Speech library I copied unchanged from an old TTS plugin for the calibre Viewer. It seems to be working OK as-is in my plugin. I'm not asking you to verify all 5000+ lines of it but please would you look at this short extract from the top of the file:
There are a couple of references to Python 3 in there. I don't think these can be important because this library appears to work OK on my own PC which does not have any copy of Python 3. Is there anything there which rings any alarm bells? I've also attached the whole library file in case it's necessary.