Once your OpenClaw Gateway is healthy, the next reliability layer is scheduled work: channel probes, housekeeping, and recurring reports. This guide defines pre-flight gates, a minimal openclaw cron loop (when your CLI exposes it), UTC-first timezone rules, and a cold-start checklist after restarts, including why a dedicated remote Mac is a better home for always-on automation.
Make “ready to schedule” an explicit gate, not a default.
| Check | Pass | If fail |
|---|---|---|
| Gateway | openclaw gateway status healthy | fix bind/service first |
| Disk | >20% free on log volume | rotate or expand |
| Doctor | no blocking findings | resolve tokens/config drift |
| Channels | probe succeeds | do not schedule channel-dependent jobs yet |
Assume your build ships openclaw cron subcommands aligned with community docs (cron list, cron status). Order: list → status → enable one job → watch one fire → document. Capture stdout for upgrades.
Store schedules in UTC; print offsets in logs. For “09:00 weekday” rules, name the city whose 09:00 you mean.
Tip: snapshot openclaw cron list before and after each upgrade.
Verify process, registrations, and last-fired timestamps. If timestamps stall, inspect disk and permissions before blaming the scheduler. Cross-read the Gateway troubleshooting runbook.
Laptops sleep; servers should not. Colocating Gateway and scheduled jobs on dedicated Apple Silicon removes power-policy noise. See the unattended launchd/systemd checklist.
Use OS cron for machine hygiene; use OpenClaw schedulers for tasks that need session context and channel credentials. Serialize with locks if both touch the same script.
openclaw gateway status openclaw doctor openclaw cron list || true openclaw cron status || true openclaw logs --follow
OS cron lacks first-class awareness of OpenClaw session state and channel tokens; upgrades can silently break wrapper scripts. MACCOME dedicated remote Macs give stable power, disks, and regions so Gateway plus schedules stay boringly correct.
Пробы должны быть дешёвыми и идемпотентными. Обслуживание — ротация логов и кэшей без общего изменяемого состояния с пользователем. Бизнес-потоки требуют владельца, бюджета повторов и ключа идемпотентности.
Экспоненциальный backoff с джиттером, распределение HTTP по имени задачи, раннее обнаружение 429. Разделяйте интерактив и пакетные LLM-вызовы.
Например: дайджест завершён в течение 15 минут после UTC-триггера; алерт, если нет успешного лога.
Минимальные права отдельно от админ-CLI, узкие права каналов, бэкапы перед обновлением. Разрушающие действия — с ручным подтверждением.
Полудублирование, сравнение метрик две недели, затем отключение. Без двойной записи в один SQLite/JSON без блокировки.
Связывайте постановку в очередь, выбор воркера, отправку в канал, вызов модели и запись на диск стабильным run_id. Снимайте глубину очереди и возраст самого старого ожидания: рост глубины при ровном CPU чаще указывает на внешние API или блокировки, а не на инференс.
Ноутбук во сне и приостановленные ВМ пропускают минутные границы. Переносите авторитетный планировщик на постоянно бодрствующий хост и документируйте догон вместо тихого двойного запуска. Проверяйте здоровье NTP еженедельно.
На общей машине каждый ребут — переговоры. Выделенный удалённый Mac упрощает freeze и снапшоты перед крупными апгрейдами. Выделенные узлы MACCOME в шести регионах намеренно «скучны», чтобы убрать шум.
Радиус поражения, откат, зависимости, dry-run; квартальный аудит, чтобы устаревшие плейбуки не питали тихие регрессии.
FAQ
Jobs vanished after upgrade?
Diff config volumes and re-run doctor. Public entry: home.
Conflict with systemd timers?
Partition scripts or add file locks; keep business semantics in OpenClaw.
Disk full, no logs?
Fix log rotation and mounts before raising cadence.