• info@moldeointeractive.com.ar
  • +54-911-25601603

Problemas de contención originados por una mala configuración del cron en Odoo

Gustavo Orrillo
- 08/10/2019

En un cliente tuve que analizar los contenidos del log de PostgreSQL para ver si tenia problemas con la base de datos (relacionados con la performance de la aplicación). Y me encontre con el siguiente error en forma repetida:

2019-10-07 17:20:45 UTC [21018-189] odoo@capacitacion ERROR:  could not obtain lock on row in relation "ir_cron"
2019-10-07 17:20:45 UTC [21018-190] odoo@capacitacion STATEMENT:  SELECT * FROM ir_cron WHERE numbercall != 0 AND
active  AND nextcall <= (now() at time zone 'UTC') AND id=25 FOR UPDATE NOWAIT
Es un problema originado por una mala configuración de las acciones planificadas. En este particular cliente, tenían configurada una acción que duraba varios minutos en ejecutarse, y la misma estaba planificada para correr una vez por minuto. Obviamente surgieron problemas de lockeos con la base de datos. 
Para resolver el problema tuvimos que detener Odoo. Actualizar manualmente con SQL la base de datos (concretamente la tabla ir_cron) para desactivar la acción, y luego volver a arrancar Odoo. Una vez corriendo el ERP, se procedió a configurar correctamente la acción.