Docs · Sheet 03 of 05
Runs
A Run is one execution of a Job's Command. Each one keeps its result and its Run Log.
Results
| Result | Shown as | Meaning |
|---|---|---|
| Succeeded | ✓ exit 0 | The Command exited with status 0. |
| Failed | ✕ exit 3 | Any other exit status. Also ✕ timeout and ✕ stopped. |
| Interrupted | ◐ interrupted | Cut short by a restart, a logout or a crash of the agent. Not a failure, and it never notifies. |
The Run Log
Every line the Command prints is kept, with the time it was printed, to the millisecond, and its source: O stdout, E stderr, S Cuckoo.
Check jonathan.pt is up · 15:45 · ✓ exit 0
115:45:00.370 S shell: /bin/zsh -l -c215:45:00.370 S directory: /Users/jfontes315:45:00.370 S PATH: /usr/local/bin:/usr/bin:/bin:/opt/homebrew/bin415:45:00.370 S Command:515:45:00.370 S code=$(curl -s -o /dev/null -w '%{http_code}' --max-time 20 https://jonathan.pt)615:45:00.370 S echo "jonathan.pt answered $code"715:45:00.370 S test "$code" = 200815:45:00.825 O jonathan.pt answered 200
- The first lines record the shell, the directory, the PATH and the Command, so a failure can be traced.
- In the Run panel, show All lines or Errors only. Copy takes the text without the times. Save… keeps the whole file.
- The files live in
~/Library/Application Support/Cuckoo/Logs/.
Timeout and Stop
- Past its
timeout, a Run is ended. Its log getsterminated by timeout after 30 minand it fails astimeout. - Stop ends a Run by hand. Its log gets
stopped by the userand it fails asstopped. - Either way, the whole process group gets SIGTERM, then SIGKILL 5 seconds later. The app shows Stopping… meanwhile.
Run Now and Pause
- Run Now starts a Run straight away. If the Job is already running, nothing happens.
- Pause stops the scheduled Runs. A Run in progress finishes. Run Now still works.
- Resume doesn't catch up on what was missed. The Job waits for its next time.
Missed Runs
When the Mac was asleep, off or logged out:
- A Job with fixed times runs once for the latest time it missed, marked
late (due 09:00). - A Job with an interval skips what it missed.
- A Run up to 60 seconds late still counts as on time.
One Run at a time
A Job never runs twice at once. If its next time comes while a Run is still going, that time is skipped and the running Run's log says so:
16:00 occurrence skipped: previous Run still running
How many Runs are kept
Each Job keeps its last 2000 Runs. Older ones are deleted with their Run Logs.