Hosted monitoring for Celery. Alerts for failed tasks, stuck workers, missed Beat schedules and growing queues. Retry the failures straight from Slack.
Founding teams get 50% off for life. No spam, one email when the beta opens.
An example alert. Try the Retry button.
The SDK hooks Celery's own signals. It sends events in the background, keeps a bounded buffer, and drops data before it ever slows down or crashes a worker.
# pip install daxel import daxel daxel.init(api_key="dx_live_…") # That's it. Tasks, workers, Beat and queue depth # start showing up in your dashboard.
We know when each periodic task should run. If nightly_invoices doesn't fire within its grace period, you hear about it that night, not on Monday.
A worker gets OOM-killed mid-task and the task never finishes or fails. We flag any task running past 3× its normal duration.
When the upstream API is back, retry every failure in one click. Your own workers re-enqueue them. We never touch your broker.
Last 7 nights. Saturday's 02:00 run never fired, and nothing raised an error. This is the alert most teams don't have.
| Daxel | Flower | Sentry | Self-hosted (Kanchi, Leek) | |
|---|---|---|---|---|
| Alerts on failures and stuck tasks | Yes | No | Errors only | Basic |
| Missed Beat schedules | Yes | No | Crons, per monitor | Partly |
| Queue depth and worker health | Yes | Live only | No | Yes |
| Retry and bulk retry | From Slack | Revoke only | No | Kanchi: yes, with payload editing |
| History after a restart | Up to 13 months | Lost | Yes | Your storage |
| Something to host and secure | Nothing | Yes | Nothing | Yes |
| Price | Free to $149/mo | Free | Already paying, most teams | Free |
Keep Sentry. It tells you a task crashed. Daxel tells you the queue is backing up and Beat stopped, and lets you replay the 340 failures.
Autoscaling shouldn't change your bill every hour. Retry is on every paid plan.
Founding teams: the first 50 teams that join get 50% off any plan, for life. Join the waitlist to hold a spot.
Celery 5.x on Python 3.9 and up, with Redis or RabbitMQ as the broker. Queue depth starts with Redis; RabbitMQ and SQS depth follow soon after launch.
When you click Retry, we record a command. The SDK inside your worker picks it up and re-enqueues the task with your own Celery app, in your own infrastructure.
Not unless you turn it on. Retry for tasks without stored arguments uses the task's own retry path. If you enable capture, you choose which tasks, fields matching your redact list are stripped in the worker, and the rest is encrypted at rest.
Your workers carry on. The SDK buffers a bounded number of events and drops the overflow. It never blocks or raises into your task code.
The SDK is open source today. A self-hosted server is on the roadmap; tell us on the waitlist if you need it.
Celery first. Django Tasks and RQ are next on the roadmap.
Background jobs run the half of an app nobody looks at: invoices, emails, imports, nightly reports. When they break, the web app stays green and the first alert is a customer email.
Flower shows you what's happening right now, if you're watching. Prometheus works once someone builds the whole stack. Most small teams end up with nothing. Daxel is the tool I wanted: it tells you what broke and lets you fix it from the alert.
Dheeraj, founder
Join the waitlist for the private beta and founding-team pricing.