| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 277 |
| Technical Name |
do_ops_alert_base |
| License | LGPL-3 |
| Website | http://doincredible.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 277 |
| Technical Name |
do_ops_alert_base |
| License | LGPL-3 |
| Website | http://doincredible.com |
Ops Cockpit — Alert Base
The free alert engine shared by every Ops Cockpit monitor: throttled, multi-channel and safe across worker processes.
Throttled
Email
Chatter
Webhook
Multi-worker safe
Reusable mixin
The problem
Monitoring is only useful if it can tell you something is wrong without burying you. Alert Base gives the whole Ops Cockpit suite one disciplined alert pipeline, so a job that fails every minute does not email you sixty times an hour. Set it up once; every monitor in the suite uses it.
What you get
▸ Throttled by design
Alerts fire the instant a source changes state (healthy to failing), then stay quiet until your throttle window elapses. No alert storms, ever.
▸ Multi-channel
Email, Odoo chatter and an optional JSON webhook (Slack, Discord or any HTTP endpoint) — each channel independently toggleable from Settings.
▸ Multi-worker safe
Throttle state is persisted and row-locked, so two worker processes can never double-alert for the same source.
▸ A reusable mixin
A clean ops.alert.mixin any model can call. Build your own monitors on _ops_notify(key, subject, body, state).
▸ One settings page
Master switch, recipients, webhook URL and throttle window — all under Settings, Ops Cockpit.
▸ Zero external services
Pure Odoo. The webhook is fire-and-forget after commit with a bounded timeout, so a slow endpoint never blocks your server.
See it in action
One unified Settings page configures alerting, cron health and the error inbox for the whole suite.
How it works
1
A monitor calls _ops_notify() with a stable key and the current state.
2
The engine checks the persisted throttle state under a row lock.
3
If the state changed or the window elapsed, it delivers over your chosen channels.
4
Otherwise it stays silent and records why — no duplicate noise.
Tech & compatibility
✓ Odoo 19
✓ Community & Enterprise (Community-only dependencies)
✓ Depends on: base, mail
✓ Admin-only (Settings group)
✓ License: LGPL-3 (free)
✓ No external services or Python packages
Part of the Ops Cockpit suite
One disciplined toolkit for keeping your Odoo healthy.
This module
Alert Base · do_ops_alert_base
The free, shared, throttled alert engine that powers the suite (required dependency).
Cron Health Monitor · do_cron_health
Record, score and alert on every scheduled-action run.
Error / Traceback Inbox · do_error_inbox
Capture and triage production tracebacks inside Odoo.
Do Incredible
★★★★★
Do Incredible · http://doincredible.com · info@doincredible.com
Odoo 19 · Community & Enterprise · five-star support
Please log in to comment on this module