GoRunner docs
Search or askSearch⌘K

The Health page

Whether the installation keeps up: its services, its queues and its workers, live.

4 min · Self-hosted

In Platform, under Installation, open Health. It reads every 10 seconds while open, and says Live. It is for instance-wide platform admins.

Health: Postgres and Redis Healthy, Mail Not set up, Schema matching this build, every process on one version.

Services

Postgres
Whether it answers, and this API process’s connections in use.
Redis
Whether it answers, and its memory. It warns from 70 % of maxmemory: at the limit, Redis refuses new writes, so new runs wait instead of starting, schedules don’t fire and sign-in fails until memory is freed. “Can delete keys when full” means it isn’t set to noeviction.
Object storage
Whether the bucket answers, with your own or built-in storage.
Mail
Who sends, or “Not set up. People sign in with a password, and GoRunner sends no email.”
Schema
The database’s version, and whether it matches this build.
Build
Whether every process runs one version. During an update it reads Mixed.

Over time

Four charts over 1 hour, 24 hours or 7 days, all at the same moment: Longest wait to start, Waiting runs, Workers live and Busy slots. A wait over 2 minutes counts as behind.

Who is waiting names the organizations whose runs wait, and why: a free worker slot, their runs-at-once limit, or a time later on.

Queues and dead letters

Queues shows Workflow runs, Editor test runs and Keel: waiting, running, the oldest wait, and how many start a minute.

Dead letters are runs that never reached a worker. A run also lands here when its worker stops three times; it is already failed. Clear… removes them without running them, and asks for your code.

Background jobs

Each says On time, Late, Failed or Not yet, and when it last ran.

JobWhat it doesEvery
SchedulesStarts scheduled runs on time.1 min
Polling triggersChecks polled apps for new items.1 min
Re-dispatchHands waiting runs to workers again.10 s
Stuck-run recoveryGives a lost run to another worker.10 s
Run close-outCloses runs whose worker is gone for good.10 min
Timed resumesWakes runs that waited for a time or an answer.5 s
Log flush retrySaves run logs that couldn’t be written the first time.1 min
Run data cleanupDeletes run data past its keep time.1 h
Audit cleanupDeletes audit rows past their keep time.1 h
Restore deadlinesRemoves deleted customer accounts once their restore window ends.1 h
Notification eventsCollects the events sent to your server.15 s
Notification deliverySends your server its events, and retries.5 s
Usage rollupCounts runs per organization per day, for the charts.5 min
License noticesEmails platform admins before the license ends.5 min
Payload cleanupDeletes stored step data that nothing needs.15 s
Health samplesWrites one sample a minute for Health’s charts.1 min
Visit limitsEnds staff visits at their limit or after an hour idle.1 min

A job an installation may not use shows only once it has run: run data and audit cleanup, restore deadlines, the two notification jobs, and license notices (only with mail).

Processes

One row per API and worker process: its host, role, version, last heartbeat, and busy slots or database connections.

What do I do when the queue is behind?

The verdict at the top names the cause. Every slot busy means runs arrive faster than workers finish them: add workers, or raise WORKER_CONCURRENCY with the workers’ memory. No worker live means nothing runs until one reports.

Checked against 12d85b3b