Acciones planificadas con Crontab - CronSystem

El módulo cronsystem permite la generación de crons o planificaciones mediante el crontab del sistema operativo Linux. De esta forma el cron ya no se ejecuta mediante los crons de OpenERP y pasa a ser ejecutado mediante crontab del sistema operativo Linux.

Configuración Cronsystem (crontab)

Antes de instalar el módulo deberemos:

1. Instalar las librerías de Python:

2. Configurar los servicios de webservices.

Copiaremos el fichero config.cfg.template del directorio del módulo con el nombre config.cfg. Editaremos los siguientes parámetros:

La variable USER es el nombre de usuario del sistema Linux que desea almacenar los crons y su ejecución. Accediendo a los crons del usuario (crontab -l) veremos el listado de los crons de OpenERP que hemos diseñado.

Para consultar los logs del cron podemos consultar el fichero /var/log/LOG.log, donde LOG es el nombre del fichero (por defecto /var/log/openerpcron.log).

Configuración de las planificaciones (crons)

En Administrador/Configuración/Planificador configuraremos nuestros crons.

Los crons que se ejecutan con Crontab no pueden estar al mismo tiempo activos en el ERP. Por tanto el campo Activo de estos crons debe estar desmarcado. Si activamos el campo Activo, el campo Crontab quedará desactivado.

Bimensuales, trimestrales y semestrales

Cuando seleccione la opción de mensual podrá seleccionar que meses desea que se ejecute el cron. Si marca todos los meses, querá decir que se ejecuta mensualmente.

El dia de ejecución del cron, vendrá configurado por el tiempo: dia, hora y minuto.

En este tipo de cron, el número de intérvalo no se tiene en cuenta, ya que el intérvalo son los meses que desean activar el cron.

Ejemplos

Cron cada dos minutos:

    */2 * * * * python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[1]] # OpenERP cron ID 4

Cron cada dos minutos, de 8:00 a 8:58:

    0,*/2 8 * * * python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[2]] # OpenERP cron ID 5

Cron cada 1 hora:

    @hourly python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[1]] # OpenERP cron ID 4

Cron cada 1 hora, a partir de las 8:00:

    0 8,* * * * python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[2]] # OpenERP cron ID 5

Cron cada 2 horas, a partir de las 10:30:

    30 10,*/2 * * * python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[1]] # OpenERP cron ID 4

Cron cada 3 horas (00:00, 3:00, 6:00..):
{{{
    0 0,*/3 * * * python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[1]] # OpenERP cron ID 4

Cron cada 6 horas, a partir de las 8:00:

    0 8,*/6 * * * python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[2]] # OpenERP cron ID 5

Cron cada 1 dia (24 horas):

    * */24 * * * python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[3]] # OpenERP cron ID 6

Cron 1 vez al mes:

    @monthly python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[1]] # OpenERP cron ID 4

Cron cada 1 mes, el día 15, a las 10:20:

    20 10 15 * * python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[1]] # OpenERP cron ID 4

Cron que se ejecutará los meses julio, agosto y septiembre a la madrugada:

    0 0 1 7,8,9 *  python /home/resteve/openerp-server6/bin/addons/cronsystem/cronsystem.py -m subscription.subscription -f model_copy -p [[1]] # OpenERP cron ID 4

CronSystem (last edited 2013-07-09 09:10:14 by resteve)

Contenidos creados por el equipo de Zikzakmedia. Creative Commons By-NC-SA

PythonZikzakmedia