Recover a stalled job
What you will learn Not a chapter to read but one to do. Break a job deliberately and walk the recovery once — so that the first time is not the time it actually matters.
What you need
If you are not sure where the log lives, troubleshooting says where.
Keep that third line. This exercise interrupts things on purpose.
Step 1 — Give it something slow (5 min)
A job that finishes instantly leaves no room to interrupt. Ask for something slightly long-running.
Step 2 — Interrupt it (5 min)
While it runs, press stop.
What to look for
| Check | |
|---|---|
| Does the state change to stopped? | □ |
| Is how far it got still recorded? | □ |
| Can you see partial results? | □ |
The second one matters. Without a record of how far it got, this is not recovery — it is starting over.
Step 3 — Break it harder (10 min)
This time kill the program itself. Start the job again and shut it down mid-run.
What to check after restarting
Do check the third line. When the program dies, whatever was holding that job dies with it, but the state on screen can still be whatever was last saved. Do not trust "in progress" on screen — read the log.
Step 4 — Write the recovery order (10 min)
Turn what you just did into an order someone else can follow.
For "holding what" in step 5, use the three version lines you wrote in check your first connection.
If anything needed undoing
Confirm that last line now. A safety net should not be used for the first time in an emergency.
Self-check
Check yourself
1. Why not trust "in progress" on screen after the program has died?
Answer
Whatever was holding the job died with the program. The screen only shows the last saved state; nothing is actually working on it. Read the log.
2. Why does "how far it got" matter when you stop a job?
Answer
Without it, recovery is just starting over. With a partial result you can resume from there, or use just that part.
3. Why test undoing in advance?
Answer
A safety net should not be used for the first time in an emergency. If you have never confirmed the undo works, it becomes one more thing to debug at the worst moment.
To go beyond the screen and connect other programs → The two API surfaces