The probes, the unit check and the public checks ran once a day with 26h windows, justified as "a multi-week initial sync on a rotating disk". That stopped being true: the node is synced, and a cold explorer page now renders in 29s and a warm one in 0.2s - polling every 5 minutes is what keeps it warm. A dead monerod could go unnoticed for a day. Back to the standard 5m cadence and 11m heartbeat; the per-host service_health override on monerod-box is gone. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
20 lines
914 B
Django/Jinja
20 lines
914 B
Django/Jinja
[Unit]
|
|
Description=Onion Monero Blockchain Explorer Health Check Timer
|
|
# Deliberately NO `Requires=xmrblocks.service`. Requires on a timer stops the
|
|
# timer when the watched unit stops - "if the thing I am watching goes down,
|
|
# stop watching it" - leaving nothing to re-arm when it returns. Fulcrum's
|
|
# timer carried it and sat active+enabled for seven months without firing.
|
|
|
|
[Timer]
|
|
OnBootSec=2min
|
|
# Every 5 minutes (see xmrblocks_healthcheck_on_calendar). The check renders a
|
|
# full page out of the LMDB: 29s cold, 0.2s warm on NVMe - frequent polling is
|
|
# what keeps it warm. The Gatus heartbeat window is the standard 11m, set in
|
|
# infra/403_service_probe_registration.yml, and MUST stay above this interval.
|
|
OnCalendar={{ xmrblocks_healthcheck_on_calendar }}
|
|
# Small: a delay comparable to the interval would eat the heartbeat's slack.
|
|
RandomizedDelaySec=30
|
|
Persistent=true
|
|
|
|
[Install]
|
|
WantedBy=timers.target
|