Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Productivity
  3. Better Scheduled Actions Monitor v 17.0
  4. Sales Conditions FAQ

Better Scheduled Actions Monitor

by Pushpendra https://pushpendra-odoo.in
Odoo

$ 28.56

v 17.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
You bought this module and need support? Click here!
  • Description
  • Manifest
  • License
Module Icon

Better Scheduled Actions Monitor

Enterprise-grade visibility into Odoo Scheduled Actions — catch failures instantly, track performance trends, and keep cron reliable.

Odoo 17 OWL Dashboard Execution Logs Failure Tracking PDF & CSV Reports Alert Rules

What is this module?

Odoo's built-in Scheduled Actions (ir.cron) run silently in the background. When they fail, degrade, or stop executing — you find out from an angry user, not from the system. Better Scheduled Actions Monitor fixes that.

Every cron execution — whether it succeeds, fails, or takes unusually long — is automatically captured in a dedicated log. A real-time health dashboard gives administrators an instant overview. Alert rules (Pro) notify your team before problems become incidents.

Features

#

Health Dashboard

OWL-powered live dashboard showing active jobs, failures in last 24 h, running jobs, average runtime, success rate, top slow & top failing jobs.

☰

Execution Log

Every cron run captured: start time, end time, duration, worker, database, status (success / failed / running), and full error message & traceback on failure.

●

Failure Capture

Failures automatically stored with Python traceback. Never lose visibility on why a scheduled action crashed.

↻

Re-run Action

Re-trigger any scheduled action directly from the execution log with a single button click — no need to navigate to Technical settings.

☌

Filters & Search

Pre-built filters (Failed, Running, Success, Today, Last 7 Days) and group-bys (by Cron, Status, Date) for quick analysis.

▣

PDF & CSV Reports

Generate a QWeb PDF Health Report or export execution data to CSV with a date-range export wizard.

♬

Alert Rules (Pro)

Configure alert rules for consecutive failures, runtime threshold exceeded, cron disabled, or missed execution intervals.

⚓

Role-Based Access

Three security groups: Viewer (read-only), Manager (manage alerts), Administrator (full access including re-run and export).

⚡

Near-Zero Overhead

Logging uses a separate database cursor and try/except isolation — monitoring never impacts the cron job itself (< 5 ms overhead per execution).

Health Dashboard

Navigate to Cron Monitor → Dashboard for a live overview.

Active Jobs
24
Failed 24h
3
Success Rate
94%
Avg Runtime
1.3s
KPI Widget Row At-a-glance health stats, updated live on every page load.
Top Failing Jobs
Mail Queue Runner12×
Send Scheduled Emails5×
Auto Vacuum1×
Top Failing / Top Slow Tables Pinpoints the worst offenders at a glance.
WidgetDescription
Total Active JobsCount of all active ir.cron records
Failed Jobs (24h)Execution failures in the last 24 hours
Running JobsExecutions currently in "running" state
Average Runtime (s)Mean duration across last 500 finished executions
Success Rate% of success across last 500 finished executions
Top Slow Jobs5 executions with longest duration (successful runs)
Top Failing Jobs5 cron names with highest failure count

Execution Log

Navigate to Cron Monitor → Execution Log.

Every scheduled action run is stored with full context. The list view uses color coding: ■ red = failed, ■ green = success, ■ blue = running.

Columns

ColumnDescription
Cron NameName of the scheduled action
Statusrunning / success / failed
Start TimeWhen execution began
End TimeWhen execution completed
Duration (s)Elapsed seconds (auto-computed)
WorkerOdoo worker process identifier
DatabaseDatabase name (useful for multi-db setups)
Error SummaryFirst line of error message on failure

Built-in Filters

FilterDescription
FailedOnly failed executions
RunningCurrently in-progress executions
SuccessCompleted successfully
TodayExecutions from today only
Last 7 DaysDefault filter — last week of activity

Group By

Group results by Cron Name, Status, or Execution Date for trend analysis.

Form View — Failure Details

Open any failed execution to see the full error message and Python traceback under the "Error Details" tab. Use the Re-run button to immediately re-trigger the cron.

Stat Button on Scheduled Actions

Open any Scheduled Action (Technical → Automation → Scheduled Actions) and use the Execution History smart button to jump directly to that cron's log.

Alert Rules

Navigate to Cron Monitor → Alert Rules (requires Manager role).

Alert rules define conditions that should trigger notifications. The alert engine is designed for Pro-tier extension — rules and notification records are fully CRUD-manageable from the UI.

FieldOptions / Description
Rule TypeConsecutive Failures / Runtime Exceeded / Cron Disabled / Not Executed Within Interval
ThresholdNumeric value (e.g. 3 failures, or 60 seconds runtime)
ChannelEmail / Slack / Microsoft Teams / Generic Webhook
PriorityLow / Medium / High
ActiveToggle to enable/disable rule

Reports & Export

PDF Health Report

Select one or more records in the Execution Log list, then use Print → Health Report to generate a QWeb PDF showing all selected executions with cron name, status, timestamps, and duration.

CSV Export Wizard

Navigate to Cron Monitor → Export Report. Choose an optional date range and click Export CSV to download a spreadsheet with all execution data for analysis in Excel or Google Sheets.

Exported columns: Cron, Status, Start, End, Duration (s), Worker, Database, Error.

Installation

Copy module to addons path

Place the cron_monitor folder inside any addons path listed in your odoo.conf:

/your_addons_path/
└── cron_monitor/
    ├── __manifest__.py
    ├── models/
    ├── views/
    └── ...

Update apps list

In Odoo UI: Settings → Apps → Update Apps List (enable developer mode first), or via CLI:

python odoo-bin -c odoo.conf -u base --stop-after-init

Install module

Search for "Better Scheduled Actions Monitor" in Apps and click Install, or via CLI:

python odoo-bin -c odoo.conf -i cron_monitor --stop-after-init

Assign user access

Go to Settings → Users, edit a user, and assign one of:

GroupCan Do
Cron Monitor / ViewerRead dashboard and execution log
Cron Monitor / ManagerViewer + manage alert rules and notifications
Cron Monitor / AdministratorFull access including re-run and export

The Odoo Administrator user gets Administrator group automatically on install.

Verify installation

After install a "Cron Monitor" menu appears in the top navigation bar. Click it to open the Health Dashboard. Go to any Scheduled Action form view — you'll see an Execution History button. Trigger a cron manually (Run Manually) and confirm a new execution record appears in the log.

Dependencies & Compatibility

ItemValue
Odoo Version17.0
Module Dependenciesbase, mail, web (all standard Odoo modules)
Python DependenciesNone (uses stdlib only)
DatabasePostgreSQL 12+
LicenseOPL-1

How It Works

The module inherits ir.cron and wraps two methods:

  • _callback — called by the Odoo cron scheduler for every scheduled execution
  • method_direct_trigger — called when a user clicks "Run Manually"

Both wrappers open a separate database cursor to write the execution record. This isolation means a rollback in the cron job's own transaction never loses the monitoring data. The try/except in the logging helpers ensures a logging failure can never crash the cron job.

ir.cron._callback / method_direct_trigger
    │
    ├─ [separate cursor] cron.monitor.execution.create(status=running)
    │
    ├─ super() → actual cron action runs
    │
    └─ [separate cursor] execution.write(status=success|failed, end_time, duration, traceback)

A composite SQL index on (cron_id, start_time) is created at install to keep log queries fast even with millions of records.

Security Model

Model Viewer Manager Administrator
cron.monitor.execution Read Read / Write Full
cron.monitor.alert.rule Read Full Full
cron.monitor.notification Read Read / Write / Create Full
Export Wizard — Full Full

Edition Tiers

Lite (This Module)

Included
  • Health Dashboard
  • Full Execution Log
  • Failure & Traceback Capture
  • Re-run Action
  • Filters & Group-by
  • PDF & CSV Reports
  • Alert Rules CRUD
  • 3 Security Groups
  • Email / Slack Alerts
  • Runtime Trend Charts
  • Multi-DB Monitoring

Pro

Coming Soon
  • Everything in Lite
  • Email Alert Delivery
  • Slack Webhook Integration
  • Teams Webhook Integration
  • Runtime Trend Charts
  • Historical Analytics
  • Slow Job Detection
  • Multi-DB Monitoring
  • Anomaly Detection

Enterprise

Coming Soon
  • Everything in Pro
  • Multi-Database Hub
  • Anomaly Detection
  • Forecasting
  • Central Monitoring Dashboard

FAQ

Does this slow down my cron jobs?

No. Logging uses a separate cursor opened outside the cron transaction. The overhead is under 5 ms per execution. If the logging itself fails, the cron job continues normally — the exception is swallowed and logged to the Odoo log file only.

What happens to old execution records?

Records accumulate until manually deleted. For high-volume cron setups, add an archive policy or create a scheduled action that deletes cron.monitor.execution records older than N days. A built-in auto-archive policy will be added in a future version.

Can I re-run a failed job?

Yes. Open the execution log record and click Re-run. This calls ir.cron.method_direct_trigger() on the linked cron, which also produces a new execution log entry.

Does it capture cron jobs that were already installed before?

Yes. The wrapper is applied to all existing ir.cron records immediately on install — no changes needed to existing crons.

Does it work with multi-company / multi-database setups?

Each database has its own execution log. The database_name field is recorded on every execution for reference. A multi-database central hub is planned for the Enterprise tier.

Upgrading

To upgrade to a new version of the module:

python odoo-bin -c odoo.conf -u cron_monitor --stop-after-init

All existing execution log records are preserved. New database columns (if any) are added automatically by Odoo's ORM migration system.

Better Scheduled Actions Monitor — Odoo 17 — Version 17.0.1.0.0
Developed by Pushpendra — pushpendra-odoo.in

Licensed under OPL-1 — © 2025 Pushpendra

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 615
Technical Name cron_monitor
LicenseOPL-1
Websitehttps://pushpendra-odoo.in
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with