Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

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.

Source

The default timeout is 120 seconds per PDF.

Source

If an output exists but does not match that evidence, the tool reports a conflict.

Source

The first two runs returned exit code 2: two complete, one needing review.

Source

  • Record date: 2026-10-23T18:11:35.428Z