A broken PDF should be one row in a report
Description and use
A single corrupted PDF should not halt a large batch compression workflow. PDF Batch Resume processes each PDF in isolation, logs errors, and resumes the queue without discarding successful outputs.
Problem
A single corrupted PDF should not halt a large batch compression workflow.
Outcome
The tool successfully compressed a chart PDF, reported an error for a damaged PDF, and resumed processing after replacing the damaged file, achieving a clean exit code 0.
Workflow
- Launch supervisor script
- Supervisor spawns a worker subprocess for each PDF with a 120‑second timeout
- Worker processes PDF using pypdf and Pillow
- If timeout or error occurs, worker exits with nonzero code
- Supervisor records error and moves to next file
- Worker writes journal entry via temporary JSON file
- If output exists, compare source hash, options, and output hash; report conflict if mismatched
- On subsequent runs, resume from last unprocessed or conflicted file
- After replacing damaged PDF, re-run to complete batch
Evidence
Each PDF gets a fresh worker process.
The default timeout is 120 seconds per PDF.
If an output exists but does not match that evidence, the tool reports a conflict.
The first two runs returned exit code 2: two complete, one needing review.
- Record date: 2026-10-23T18:11:35.428Z