Problem
A batch export fails one derivative but returns an overall success status because the workflow aggregates child-job errors incorrectly.
Solution
Root Cause / Diagnostic:
Batch processing scripts that aggregate child worker threads without evaluating individual exit codes often mask sub-task failures under a master process exit code 0. When one derivative fails to render due to memory exhaustion or codec errors, the parent script marks the entire batch complete, causing missing deliverables.
Actionable Fix:
1. Refactor batch automation scripts to implement strict exit-code bubbling (set -e in Bash or Promise.all with fail-fast/error accumulation in Node.js) across all child render threads.
2. Build an export manifest verifier that cross-checks expected output file counts against actual disk items before returning a job completion status.
3. Validate batch export logs by parsing stderr outputs and checking that every expected derivative has a valid nonzero file size.
Pro Tip:
In batch FFmpeg or Python automation scripts, store individual process exit codes in an array and require sum(exit_codes) == 0 and expected file size verification before returning a global success signal.
Batch processing scripts that aggregate child worker threads without evaluating individual exit codes often mask sub-task failures under a master process exit code 0. When one derivative fails to render due to memory exhaustion or codec errors, the parent script marks the entire batch complete, causing missing deliverables.
Actionable Fix:
1. Refactor batch automation scripts to implement strict exit-code bubbling (set -e in Bash or Promise.all with fail-fast/error accumulation in Node.js) across all child render threads.
2. Build an export manifest verifier that cross-checks expected output file counts against actual disk items before returning a job completion status.
3. Validate batch export logs by parsing stderr outputs and checking that every expected derivative has a valid nonzero file size.
Pro Tip:
In batch FFmpeg or Python automation scripts, store individual process exit codes in an array and require sum(exit_codes) == 0 and expected file size verification before returning a global success signal.