$crond.io
integrations / railway

Railway Cron Job Monitoring

A Railway cron schedule runs your service's start command on a schedule, then lets it exit — but Railway won't tell you if the job starts failing or the schedule stops firing. crond.io watches the schedule and alerts you when a run is late or fails. It's one curl.

How it works

Set a cron schedule on your Railway service, then create a crond.io monitor with the same schedule (Railway cron schedules are UTC). Ping crond.io when the job finishes; a missing ping or an explicit failure triggers an alert.

Quick: ping on success

Append a ping to your service's start command so it only fires when the job succeeds:

node worker.js && curl -fsS "https://api.crond.io/ping/$CROND_PING_KEY"

Full: start, success, and failure

For run duration and instant failure alerts, wrap the job in a start command script:

#!/usr/bin/env bash
PING="https://api.crond.io/ping/$CROND_PING_KEY"

curl -fsS -X POST "$PING/start"        # job started
if node worker.js; then
  curl -fsS "$PING"                    # success
else
  curl -fsS -X POST "$PING/fail"       # failure -> instant alert
  exit 1
fi

Set the ping key

Add a service Variable named CROND_PING_KEY set to the ping key from your crond.io monitor, so the key stays out of your repo.

That's it

Your Railway cron job now reports every run. If it crashes or the schedule stalls, crond.io alerts you instead of leaving a silent gap.