Frequently Asked Questions

Find answers to common questions about CronRabbit.

CronRabbit Alerting Logic

Everything you need to know about how CronRabbit keeps watch.

How does CronRabbit detect if my job has failed?

We use a "dead man's switch" mechanism. When your cron job completes successfully, it sends a "ping" to our system. We continually calculate the next expected ping time based on your schedule. If we don't hear from your job by that time (plus your configured grace period and optional alert delay), we trigger an alert and mark the monitor as "DOWN".

What happens if my job reports a failure explicitly?

If your job catches an error and pings us with a "fail" signal, we process it according to your **Alerting Strategy**. By default, this triggers an immediate alert. However, if you have a **Sequential** or **Frequency** threshold configured, we record the error and only alert you once your specific criteria are met.

What is a "Grace Period"?

The Grace Period is a "silent buffer" time you can add to your schedule to account for normal variance in job execution time. During this period, the monitor stays in the **UP** (green) state, even if the scheduled time has passed.

  • Formula: LATE Threshold = Last Ping Time + Schedule + Grace Period
  • Example: If your job runs every hour (3600s) and takes up to 5 minutes to finish, you might set a grace period of 10 minutes. Your dashboard will stay green for 1 hour and 10 minutes. If no ping arrives by then, it transitions to **LATE**.

What is the "LATE" status?

A monitor enters the **LATE** status immediately after the Grace Period expires.

  • Pre-Alert Warning: If you have an **Alert Delay** configured, the monitor will stay in the **LATE** state (yellow) as a visual warning before an alert is actually sent.
  • Formula: DOWN Alert = LATE Threshold + Alert Delay
  • Default Behavior: If your Alert Delay is set to 0 (the default), the monitor will transition from **LATE** to **DOWN** almost instantly, and an alert will be sent immediately.

How quickly will I be alerted?

Our "Sentry" service checks for overdue monitors every 10 seconds. Once a monitor is detected as overdue (or signals an explicit failure), the alert is dispatched immediately to our messaging queue for processing.

Will I get spammed with alerts if a job stays down?

No. We have built-in noise reduction:

  • State-Based Alerting: We only alert when the status changes to "DOWN". We won't keep emailing you while it stays down.
  • Deduplication: Our dispatcher has a strict lock mechanism that prevents duplicate alerts for the same event from being sent within a short window.

What notification channels do you support?

  • Email
  • Slack
  • Discord
  • Pushover
  • Generic Webhooks (connect to PagerDuty, OpsGenie, or internal tools)

How reliable is the alert delivery?

We built our alerting system on a distributed architecture using Redis Streams. If an integration provider (like Slack) is temporarily having issues, our Dispatcher uses a robust retry policy with exponential backoff to ensure your alert gets delivered as soon as the service recovers.

Getting Started

How to set up and integrate CronRabbit with your jobs.

How do I integrate CronRabbit with my cron job?

Add a simple HTTP request at the end of your script. For example:

curl -X POST -d '{"status": "success"}' https://ping.cronrabbit.com/YOUR_MONITOR_ID

You can also use our /start and /fail endpoints. We support GET parameters or attaching a POST body for logging metadata.

What languages/platforms are supported?

CronRabbit works with anything that can make HTTP requests - bash scripts, Python, Node.js, PHP, Ruby, Go, or any cron scheduler including Kubernetes CronJobs, AWS EventBridge, and GitHub Actions.

Do I need to modify my existing cron job?

Minimally - just add a single HTTP call (1 line of code) at the end of your job to ping CronRabbit. No SDK or agent installation required.

Monitoring Features

Advanced monitoring capabilities and configuration options.

How are my Environment icons and colors chosen?

CronRabbit automatically selects distinctive icons and colors based on your environment's name. This helps you visually group your monitors at a glance.

For example, names containing "prod" get an Emerald (green) Globe, "staging" gets an Amber (orange) Layers icon, and "test" gets a Violet (purple) Flask icon. You can see the full mapping in our Visualization Documentation.

Can I track how long my jobs take?

Yes! Use the /start endpoint before your job begins and the regular ping when it completes. We'll calculate and display the duration, with historical trends.

Can I send logs or metadata with my pings?

Yes! You can attach JSON or plain text data in the HTTP POST body when sending a ping, /start, or /fail signal. This metadata will be stored and displayed directly in your dashboard alongside the ping event. This is useful for logging job outputs, error traces, or custom metrics. Note: Bodies are limited to 10KB and will be truncated if they exceed this size.

What schedule formats do you support?

We support standard cron expressions (e.g., 0 * * * *), and interval-based schedules (e.g., "every 30 minutes").

What is Threshold Alerting?

Threshold Alerting allows you to reduce notification noise by only triggering an alert if failures persist. This is perfect for jobs that might intermittently fail due to transient network issues but don't require immediate intervention.

  • Sequential: Alert only after X failures in a row. A single success resets the count.
  • Frequency: Alert if X failures occur within a rolling time window (e.g., more than 3 fails in 1 hour).
  • Immediate: The default behavior. Alert as soon as the first failure is detected.

Can I pause monitoring temporarily?

Yes, you can pause any monitor from the dashboard. Paused monitors won't trigger alerts until you resume them.

How do I monitor jobs that run on-demand?

Use a "heartbeat" monitor type with an expected interval. These alert if no ping is received within the configured window, acting as a true "dead man's switch."

What is a Traffic Monitor?

Traffic Monitors allow you to monitor high-frequency jobs or queue workers by tracking the *rate* of pings rather than specific arrival times. It's ideal for tasks that run hundreds or thousands of times an hour where individual failures are less important than overall throughput.

  • Expected Pings: The minimum number of pings you expect to receive.
  • Period: The rolling time window (e.g., 1 hour, 1 day) used for the count.
  • Alerting: Traffic Monitors use **Immediate Alerting**. If the throughput drops below your threshold, you are notified as soon as the discrepancy is detected.

How do timezones affect my monitors?

Timezones are critical for calculating when a cron job is "late." CronRabbit uses a hierarchical approach:

  • Environment Level: Set a default timezone for your entire environment (e.g., Production). All monitors will inherit this by default.
  • Monitor Level: Override the environment timezone for specific jobs that run in different regions.
  • Dashboard: All times displayed in your dashboard automatically adapt to the configured timezone, making it easy to see your schedule in the local context.

Status Pages

How to share your uptime status with others.

Can I customize my status page?

Yes! You can customize the title, description, and choose which monitors or environments to display. You can also upload your own logo for a fully branded experience.

Are status pages public?

Status pages are public by default once you create them. You can share the unique URL with your customers or embed it on your own site to provide real-time uptime transparency.

How many status pages can I create?

All plans, including the Free tier, include a customizable public status page. Pro and Enterprise plans allow you to create multiple status pages for different environments or projects.

Pricing & Plans

Questions about billing, plans, and usage limits.

Is there a free tier?

Yes! Our free tier includes up to 5 monitors with email alerts - perfect for personal projects or testing.

How are monitors counted?

Each unique job you monitor counts as one monitor. Pings and alerts are unlimited on all plans.

Can I upgrade or downgrade anytime?

Yes, you can change plans at any time. Changes take effect immediately and billing is prorated.

Security & Privacy

How we protect your data and privacy.

Is my data secure?

Yes. All communications use HTTPS/TLS encryption. We only store minimal metadata about your pings - no sensitive payload data.

What data do you store?

We store ping timestamps, durations, and metadata you explicitly send (like exit codes). We don't access your server or job outputs.

Can I use CronRabbit in air-gapped environments?

For outbound-only networks, yes - your servers only need to make outbound HTTPS requests to our ping endpoint.

Troubleshooting

Common issues and how to resolve them.

How do I verify my ping was successfully received?

When a ping is successfully ingested, our server responds with an efficient HTTP 204 No Content status code rather than a bulky JSON response body. You can test this and verify your connection by sending a HEAD request using curl -I:

curl -I https://ping.cronrabbit.com/YOUR_MONITOR_IDIf successful, you will instantly see the 204 No Content status in the response headers!

Why is my monitor showing as DOWN even though it ran?

Check that your ping URL is correct and your server can reach our endpoint. Also verify the ping is sent after your job completes successfully, not before.

I'm getting too many false alerts. What can I do?

Increase your grace period to account for variable job duration, or check if your server's clock is accurate (we recommend NTP sync).

My alert didn't arrive. What happened?

Check your spam folder for email alerts. For Slack/Discord, verify the integration is still authorized. View the alert history in your dashboard to confirm it was dispatched.