Open sourceAGPL-3Odoo module
Hand long jobs to a drone. Keep your Odoo workers free.
Cetmix Drone lets any Odoo module offload long-running work to external workers and get the result back through a callback. Free and open source under AGPL-3. A commercial licence is there if you need one.
Sheet 02 — Overview
Long-running work must not hold an Odoo worker.
Drones are external workers. Your module hands the job over and gets the result back through a callback method. It does not own transport, authentication, controller selection, heartbeat or timeout.
- Odoo module
- Job row
- Controller
- Drone
- Callback
Designed for
01
AI agents
02
Document processing
03
Heavy calculations
04
Long-running requests
05
External integrations
Write drones in any language.
A drone is an external worker, so it is not tied to Python. Use Python, Go, Rust or any other language, whichever gives the job the performance it needs.
- Python
- JavaScript
- Go
- Rust
- Any other language
One job, from request to callback
01
Create the job
Your module writes the job row in its own transaction. Nothing is sent yet.
caller transaction02
Submit after commit
The job is submitted only once the transaction commits. A rolled back transaction never starts real work.
commit hook03
Pick a controller
A healthy controller with free capacity that offers the required skill is selected. If none is available, behaviour is configurable.
capacity · health · skills04
Run on the drone
The payload travels encrypted and authenticated. The module includes SSH command execution on external drones.
encrypted payload05
Watch it
Heartbeats, polling, timeouts, retries and cancellation are handled for you, not by your module.
heartbeat · poll · timeout06
Get the callback
The result arrives at a callback method in your module. The outcome is tracked on the job.
callback method
Two calls in your module
Launch the job with a skill and a callback. Handle the result when it comes back.
job = record.launch_drone(
"my_skill",
record._on_my_task_done,
{"example": "value"},
drone_timeout=600,
)def _on_my_task_done(self, drone_job, result):
...
return TrueThree records to know
Controllers
External services that run the work. Each has authentication, encryption, a capacity limit and health monitoring.
Skills
What a controller can do. Jobs ask for a skill and are routed to a controller that offers it.
Jobs
One row per unit of work, with status, result, retries and cancellation. Reconciled by nonce, fenced before failover.
What it guarantees
Committed first
The job row is created in the caller's transaction and submitted only after commit.
Never twice
Ambiguous submissions are reconciled by nonce and fenced before any failover, so the same work never runs on two controllers.
Observed
Heartbeats, polling, timeouts, retries and cancellation are handled for you.
Controlled
Controllers and skills carry capacity limits, health monitoring, authentication and encryption.
Sheet 03 — Pricing
Free under AGPL-3. Buy a licence only if you need one.
The code is open source and free to run. A commercial licence is for projects that cannot comply with AGPL-3. Pay once per Odoo database, keep it for life.
Community
FreeAGPL-3
Open source
- Full source on GitHub
- Also on the Odoo App Store
- Use, study and modify
Commercial · single
€10one-off · excl. VAT
1 Odoo database
- Lifetime licence for 1 database
- Covers all Odoo versions
Commercial · ten-pack
€80one-off · €8 per database · excl. VAT
10 Odoo databases
- Lifetime licences for 10 databases
- Covers all Odoo versions
Staging and demo databases don't count, if they are neutralized or loaded with demo data.
About the licence
- Is Cetmix Drone free?
- Yes. It is open source under AGPL-3. Download it from GitHub or the Odoo App Store at no cost.
- When do I need a commercial licence?
- When your project cannot be released under AGPL-3 terms. Tell us the setup if you are unsure.
- Do staging and demo databases need a licence?
- No. They do not count, as long as they are neutralized or demo data is loaded.
- What does a commercial licence cover?
- One Odoo database, for life, on any Odoo version. Buy it here on this site.
Free to download from GitHub or the Odoo App Store.
The module sits in the root of cetmix/cetmix-tower, under AGPL-3. Configuration, API and security are documented with it.
Sheet 04 — Contact
Talk to an engineer.
Tell us what you want to move out of Odoo. We reply with a specific answer.
Message us on WhatsApp- Bug or feature request → GitHub issues
- Running servers from Odoo too → Cetmix Tower