Add --tmp-dir with os.getpid to each m4b-tool invocation #195
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In bragibooks when using multiple celery workers and importing multiple books at the same time, all calls to m4b-merge (and therefore m4b-tool) use the same directory in /tmp (/tmp/m4b-tool). It seems these multiple processes were getting confused with what was going on, overwriting eachother's files, and failing to successfully finish.
There were various errors around failing to get the length of the m4b files (I didn't make a note of the specific error).
Test configuration: bragibooks in Docker, 8 celery workers
Before this change I imported 45 books and had ~37 failures.
I'm half way through re-importing but so far I've had 0 failures