Pause And Resume
What it is
Operational controls for stopping and restarting unattended work safely.
In plain terms
Think of hitting pause partway through a dishwasher cycle: nothing about the wash program gets erased, the machine just stops exactly where it is until you’re ready, and pressing start again picks the same cycle back up instead of running it from the beginning. Pause and resume does the same for a Hermes job — stopping it in place without deleting its schedule, prompt, or history, then letting it start again exactly as configured.
Why it matters
Stopping unattended work temporarily — a maintenance window, a provider outage, active debugging — without deleting the job definition and recreating it later is what pause and resume is for. For a VPS deployment running dozens of cron jobs continuously, ‘just disable it for now’ needs to be a reversible, first-class action rather than an edit-and-hope operation. It complements manual triggering: one controls whether a job runs on its own schedule, the other lets it run once regardless of that schedule.
How it works
Pausing a job (cronjob action pause) doesn’t touch its schedule or prompt — it flips enabled to false, sets its state to paused, and records a timestamp plus an optional reason (cron/jobs.py#pause_job). A paused job is skipped by the scheduler’s due-job scan and also refuses a manual run: attempting to fire it returns “Job is paused/disabled; resume it before running.” Resuming (resume_job) flips enabled back to true and recomputes the next run time from right now, not from whenever it was paused — so a job paused for three days doesn’t fire three days of backlog the moment it wakes. One exception: a one-shot job whose scheduled time already passed its grace window can’t be resumed at all — Hermes raises an error instead of silently reviving a run that will never fire.
A concrete example
Your model provider starts throwing errors mid-afternoon, and three unrelated cron jobs all call out to it every fifteen minutes. You pause each one by job ID; each job’s state flips to paused and the scheduler stops picking them up, but their schedules and prompts stay exactly as configured. Two hours later the provider recovers. You resume each job, and Hermes recomputes each one’s next run from that moment forward — not from three hours of missed ticks — so nothing bursts out a backlog of stale requests the instant they wake up.
How it connects
This note belongs to the Automation family. Its closest neighboring concepts are: Manual Triggering, Cron Jobs, Agent Runtime, Personal OS.
Source evidence
vendor/hermes-agent/toolsets.py#<file>— Structural Source Map fallback for toolsets.py. A core source file in the Tool Registry and Toolsets structure within Tools, Toolsets, and MCP.
Workflows
- No first-pass workflow mapping yet; this concept still appears in the vault graph through articles and source evidence.
Related articles
- No article currently mentions this concept by name/alias often enough to qualify (see mention-mining policy).
