Sentry Crons alternative
Keep your Sentry cron code. Change one DSN.
Cuckoo understands Sentry's check-in protocol. The @monitor decorator, capture_checkin, sentry.CaptureCheckIn and Sentry.withMonitor keep working. They report to a monitoring service that does only cron jobs, with flat pricing.
How the switch works
- 1
Sign up
Your organization gets a DSN under Settings.
- 2
Init a second client in your job runner
Use the Cuckoo DSN where your cron jobs run. Errors keep going to Sentry from your app.
- 3
Run your jobs
The first check-in with a
monitor_configcreates the monitor. Late and failed jobs alert by email, Slack, Discord or webhook.
Python
import sentry_sdk
from sentry_sdk.crons import monitor
sentry_sdk.init(dsn="https://<key>@cuckoo.metastic.ch/<project>")
@monitor(monitor_slug="nightly-backup", monitor_config={
"schedule": {"type": "crontab", "value": "30 2 * * *"},
"timezone": "Europe/Zurich",
"checkin_margin": 10, # minutes
"max_runtime": 60, # minutes
})
def backup(): ...
Go
sentry.Init(sentry.ClientOptions{
Dsn: "https://<key>@cuckoo.metastic.ch/<project>",
})
cfg := &sentry.MonitorConfig{
Schedule: sentry.CrontabSchedule("30 2 * * *"),
CheckInMargin: 10, MaxRuntime: 60, Timezone: "Europe/Zurich",
}
id := sentry.CaptureCheckIn(&sentry.CheckIn{
MonitorSlug: "nightly-backup", Status: sentry.CheckInStatusInProgress}, cfg)
// ... run the job ...
sentry.CaptureCheckIn(&sentry.CheckIn{ID: *id,
MonitorSlug: "nightly-backup", Status: sentry.CheckInStatusOK}, cfg)
What is the same, what is different
| Sentry Crons | Cuckoo | |
|---|---|---|
| Check-ins from Sentry SDKs | Yes | Yes (envelope check_in items, gzip or deflate) |
Monitor upsert from monitor_config | Yes | Yes: crontab with time zone, interval, margin, max runtime |
| Plain HTTP pings (curl, wget) | Yes | Yes, plus /start, /fail, exit codes and 10 KB of output |
| Error tracking, tracing, replays | Yes | No. Cuckoo only does job monitoring. |
| Pricing | Per monitor, on top of a Sentry plan* | Flat: 20 free, 200 for CHF 12/month, 1,000 for CHF 39/month |
| Hosting | US or EU | EU (Germany), Swiss company |
* Check Sentry's pricing page for current numbers. Sentry is a trademark of Functional Software, Inc.; Cuckoo is not affiliated with Sentry.
Guides: sentry-python · @sentry/node · Cuckoo vs Sentry Crons in detail
Try it with your existing jobs
Free for 20 monitors. No card, no sales call.
Start free