A lock on the job — no double runs
The scenario sets a "busy" mark in Redis for the duration of a long job: a second run sees it, stops with a clear error, and leaves the data intact.
- Only one run at a time
- No duplicated data
- The second run fails clearly, not silently
- The lock expires — a hung job can't block everything
