tinyhumansai/openhuman · error
scheduler component not tracked yet
Error message
scheduler component not tracked yet
What it means
Doctor service-health check: the scheduler component has never published a heartbeat to the component-status store, so `scheduler_ok` is false and no last-ok timestamp exists (the age defaults to i64::MAX, which also fails the staleness comparison). This means either the core just started and the cron scheduler has not ticked yet, or the scheduler service is not running/persisting status at all.
Source
Thrown at src/openhuman/platform/doctor/core.rs:654
.and_then(serde_json::Value::as_str)
.and_then(parse_rfc3339)
.map_or(i64::MAX, |dt| {
Utc::now().signed_duration_since(dt).num_seconds()
});
if scheduler_ok && scheduler_age <= SCHEDULER_STALE_SECONDS {
items.push(DiagnosticItem::ok(
cat,
format!("scheduler healthy (last ok {scheduler_age}s ago)"),
));
} else {
items.push(DiagnosticItem::error(
cat,
format!("scheduler unhealthy (ok={scheduler_ok}, age={scheduler_age}s)"),
));
}
} else {
items.push(DiagnosticItem::warn(
cat,
"scheduler component not tracked yet",
));
}
// Channels
let mut channel_count = 0u32;
let mut stale = 0u32;
for (name, component) in components {
if !name.starts_with("channel:") {
continue;
}
channel_count += 1;
let status_ok = component
.get("status")
.and_then(serde_json::Value::as_str)
.is_some_and(|s| s == "ok");
let age = componentView on GitHub (pinned to 7491200858)
Solutions
- Re-run the doctor a minute after core start to let the scheduler publish its first heartbeat
- Verify the cron service is in the active ServiceSet (not disabled via headless/none services preset)
- Check core logs for scheduler startup errors if no heartbeat ever appears
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/platform/doctor/core.rs:654 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/7dfd25022c7b3978.
Report an issue: GitHub.