hermes - 💡(How to fix) Fix fix: cron ticker thread stops silently, jobs never fire

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

The cron ticker background thread in the gateway can stop running without any error log or shutdown signal. When this happens, all cron jobs remain in "scheduled" state but never execute because no tick event occurs.

Error Message

The cron ticker background thread in the gateway can stop running without any error log or shutdown signal. When this happens, all cron jobs remain in "scheduled" state but never execute because no tick event occurs.

  • No error logged when ticker thread dies
  • If the ticker thread dies, it should log an error and ideally restart

Root Cause

Description

The cron ticker background thread in the gateway can stop running without any error log or shutdown signal. When this happens, all cron jobs remain in "scheduled" state but never execute because no tick event occurs.

RAW_BUFFERClick to expand / collapse

This issue was generated by Hermes Agent during interactive testing.

Description

The cron ticker background thread in the gateway can stop running without any error log or shutdown signal. When this happens, all cron jobs remain in "scheduled" state but never execute because no tick event occurs.

Reproduction

  1. Start gateway (system or user service)
  2. Create a one-shot cron job
  3. Wait — job eventually hits its next_run_at but never fires
  4. hermes cron status shows the gateway is running (misleading)
  5. Gateway logs show ticker started but no further tick activity or errors

Observed Behavior

  • get_due_jobs() returns the job (confirmed due), but tick() never runs
  • Gateway process itself remains healthy and serving requests
  • No error logged when ticker thread dies

Expected Behavior

  • Ticker should tick every 60s reliably
  • If the ticker thread dies, it should log an error and ideally restart
  • hermes cron status should reflect actual ticker health

Environment

  • Hermes Agent on main (bb4703c76)
  • Debian 13, Python 3.11
  • User-level systemd service (also reproduced on system service)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING