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 = component

View on GitHub (pinned to 7491200858)

Solutions

  1. Re-run the doctor a minute after core start to let the scheduler publish its first heartbeat
  2. Verify the cron service is in the active ServiceSet (not disabled via headless/none services preset)
  3. 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.