Option 1 — Roll your own cron + curl
# /etc/crontab on a Linux box */15 * * * * curl -fsS -X POST \ -H "Authorization: Bearer $API_SECRET" \ https://api.example.com/cron/heartbeat
Cheapest and simplest, but you own:
- The host (uptime, OS patches, SSL).
- Retry logic when the API is briefly unavailable.
- Alerting when the request fails silently.
- Logs / observability across every cron line.
- Timezone configuration.
Works great for hobby projects and a single shared box. Falls apart at the “hundreds of crons across multiple services” scale.