Keep-Alive Ping¶
Many free PaaS tiers (Render free, classic Heroku free dynos, some Fly.io
plans) put your app to sleep after a few minutes of HTTP inactivity.
Pypen ships with a tiny module, ping/, that periodically
pings the public URL of the dashboard so the platform thinks the app is
busy.
Enabling the Pinger¶
Set ping = true in [defaults]:
[defaults] ping = true ping_url = ""
The pinger picks a URL in this order:
[defaults].ping_url— if set, used as-is.APP_URLenvironment variable.- Auto-detection (Heroku
HEROKU_APP_NAME, RenderRENDER_EXTERNAL_URL, etc.).
How it Works¶
ping/ waits for the worker manager to finish initial
project setup (so the first ping doesn't compete for I/O), then enters
a simple loop that issues an HTTP GET against the
configured URL on a fixed interval. Failures are logged but never
raise — the pinger is fire-and-forget by design.
Disabling It¶
On a "real" VPS or dedicated host the pinger is just noise. Disable it:
[defaults] ping = false
Self-pinging is not a real health check
The pinger keeps the dyno awake; it does not verify that your
workers are actually doing useful work. For real liveness checks,
rely on s6-overlay and the dashboard.