Skip to Content
Menu
This question has been flagged

Hello,

after restoring database (with option database was moved) on the same server (just deleted and restored database) I see following error in logs:


2024-10-24 20:25:52,401 6706 DEBUG ? odoo.service.server: cron0 polling for jobs
2024-10-24 20:25:52,405 6706 DEBUG db_name odoo.addons.base.models.ir_cron: job 58 acquired
2024-10-24 20:25:52,409 6706 WARNING db_name odoo.addons.base.models.ir_cron: Exception in cron:
Traceback (most recent call last):
  File "/opt/odoo/odoo16/odoo/odoo/addons/base/models/ir_cron.py", line 319, in _process_job
    interval = _intervalTypes[job['interval_type']](job['interval_number'])
               ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: None


How to debug and fix?

Thank you,

Carlo

Avatar
Discard
Best Answer

Hello Carlo


The KeyError: None error in your Odoo logs typically indicates that a cron job (automated background task) has an undefined or incorrect interval type. This can happen if the interval_type field in the ir.cron table is missing, set to None, or incorrectly configured after a database restore.

Here’s how you can debug and fix this issue:

1. Check the ir.cron Table for Missing or Invalid Values

  1. Access the Database:
    • Use a PostgreSQL client (e.g., psql on the command line) to connect to your database.
  2. Run a Query to Check interval_type:
    • Run this SQL query to identify any cron jobs with an invalid interval_type:
      SELECT id, name, interval_type, interval_number FROM ir_cron WHERE interval_type IS NULL OR interval_type NOT IN ('minutes', 'hours', 'days', 'weeks', 'months');
           This will show any records where interval_type is missing or invalid.
  3. Update the Missing Values:
    • If any rows have interval_type set to NULL or contain invalid values, update them with a valid interval_type value (such as 'days' or 'hours').
           Example SQL to update the value:
           UPDATE ir_cron SET interval_type = 'days' WHERE id = <id_of_the_cron_job>; 
           Replace <id_of_the_cron_job> with the actual ID of the cron job.

2. Restart the Odoo Service: After making changes to the database, restart the Odoo service to apply the fixes.
sudo service odoo restart

3. Debugging and Monitoring

  1. Check the Logs: After restarting, monitor the logs to ensure the error no longer appears.
  2. Verify Cron Jobs: Go to Settings > Technical > Automation > Scheduled Actions in Odoo, check that all cron jobs are enabled, and ensure they have valid interval types.

Let me this helps :)

Avatar
Discard
Author Best Answer

Thank you for great answer. Issue is resolved. I had two crons with NULL values and I managed to update values through pgAdmin.


Avatar
Discard

Glad to hear that! 😊

Related Posts Replies Views Activity
3
Sep 23
11229
1
Dec 24
813
0
Oct 24
1829
1
Aug 24
4786
3
Jul 24
4280