Problemas de contención originados por una mala configuración del cron en Odoo
Gustavo Orrillo
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.
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.
Acerca de:
Gustavo Orrillo
Apasionado de la programación, implementa Odoo para distintos tipos de negocios desde el año 2010. En Moldeo Interactive es Socio fundador y Programador; además de escribir en el Blog sobre distintos temas relacionados a los desarrollos que realiza.