Railway

Monitoring for Railway cron jobs

Railway cron jobs run a service on a schedule using a cron expression in your service settings. They are simple to set up, but Railway will not alert you when a scheduled run fails, exits non-zero, or does not start. Adding a heartbeat gives your Railway crons the missed-run and failure alerting they lack.

How Railway cron works

You give a service a cron schedule, and Railway starts the container on that schedule to run its start command, then stops it when the process exits. It is a clean model, but there is no notification when the run errors or is skipped — you would have to watch deploy logs.

Ping on a successful run

Make the last thing your command does a heartbeat ping, so it only fires when the job actually finished successfully:

start command
# only pings if your job exits 0
node dist/jobs/cleanup.js && curl -fsS https://cronmint.com/ping/YOUR-TOKEN >/dev/null

Detect runs that never start

Set the Cronmint heartbeat interval to match the Railway cron schedule. If a deploy breaks the start command or the schedule is removed, no ping arrives and Cronmint alerts you — the failure logs alone would hide.

Add alerts to your Railway cron jobs

5 jobs free, no card. Set up your first monitor in about 30 seconds.

Start free

Frequently asked questions

Does Railway alert me when a cron job fails?

No. Railway runs the scheduled service but does not send failure or missed-run alerts. Add a heartbeat ping to the command and monitor it externally.

How do I monitor a Railway cron job?

Append a curl to your start command so it pings a heartbeat URL only on success, then create a matching Cronmint heartbeat monitor.

Why did my Railway cron not run?

Common causes are a non-zero exit on a prior deploy, a broken start command, or a removed schedule. A heartbeat surfaces all of these because the check-in stops arriving.