Cómo configurar una expresión cron en C4C7OPS.
En este tutorial aprenderemos como configurar un servicio que ejecute en una tarea programa dentro de C4C7OPS usando una expresión cron para definir en qué momento se va a ejecutar periódicamente, como desplegarlo, como ejecutarlo manualmente si es necesario y cómo ver los logs de la instancia por cada vez que se ejecute dentro de la consola de C4C7OPS.
Podemos dividirlo en los siguientes pasos:
- Configurar nuestro proyecto y subirlo a un repositorio dentro de nuestro proveedor de git.
- Configurar nuestro proyecto en C4C7OPS definiendo un cron de ejecución
- Desplegar nuestro proyecto
- Visualizar que la ejecución sea exitosa, los logs que definamos y ejecutarlo manualmente.
1. Configurar nuestro proyecto y subirlo a un repositorio dentro de nuestro gestor de git.
En este paso crearemos un proyecto sencillo para subirlo a git y luego a C4C7OPS.
1.1 Creamos un archivo llamado de Docker en una carpeta vacia y lo configuramos de la siguiente forma:
1.2 Subimos nuestro archivo a nuestro proveedor de git en un nuevo proyecto.
2. Configurar nuestro proyecto en C4C7OPS definiendo un cron de ejecución:
En este punto es importante entender cómo se construyen las expresiones cron, las podemos definir de las siguiente forma:
Hay que tener en cuenta que podemos especificar el día de mes o el día de la semana pero no podemos dejar ambos en * porque es imposible que aplique en todos los escenarios así que al menos uno debe ir con “?” y el otro con *.
Si queremos definir que una tarea se ejecute por ejemplo todos los días a las 3:30 a.m seria de la siguiente forma:
“30” indica los minutos, “3” indica la hora y para el resto de campos el “*” significa que se ejecutará siempre que se cumplan las primeras dos condiciones.
Y si por ejemplo queremos que se ejecute a las 3:30 a.m pero solo sabado y domingo podemos definirlo de la siguiente manera:
En donde “SAT” y “SUN” indican los días de la semana y la separación por guión indica que se ejecuten en ambos escenarios, tanto sábado como domingo.
En caso de que no se especifique una hora en el cron pero queramos que se ejecute cada minuto, cada cinco o diez podemos hacerlo de la siguiente forma:
En donde el “/” significa que la tarea se ejecutará en todos los escenarios y el lugar donde definamos el valor indicará la magnitud, en este caso se ejecutará cada 10 minutos:
En caso de que queramos que se ejecute cada 10 minutos a la 1 a.m podemos definirlo de la siguiente forma, donde indicaremos el intervalo de tiempo en minutos y la hora específica:
Esto se ejecutara todos los días hasta desde la 1 a.m hasta la 1:55 a.m.
Esto aplica también para todas las magnitudes, este es el ejemplo de si quisiéramos que se ejecutará cada dos horas:
Ahora, si queremos que se ejecute en un intervalo pero durante una hora en especifico o en un momento particular podemos usar un espacio después de la magnitud del intervalo para definir el rango y las notaciones anteriores para definir el intervalo de tiempo, por ejemplo, si quisiéramos que fuera cada dos horas entre las 6 a.m y las 12 p.m seria de la siguiente manera:
Esta tarea se ejecutará todos los días cada dos horas entre las 6:00 a.m y las 12:00pm. Una vez tengamos este concepto claro podemos proceder a configurar nuestro servicio en C4C7OPS.
2.1 Nos dirigimos a la sección de “Backends” en C4C7OPS:

2.2 Presionamos el botón de “Create”:

2.3 Completamos los campos:

2.4 Configuramos un cron que se ejecute cada tres minutos, todo el día, todos los días y presionamos “Save”.

3. Desplegar nuestro proyecto.
3.1 Nos dirigimos a Backends de nuevo, buscamos nuestro nuevo servicio y presionamos en “Deploys”.

3.2 Presionamos create, escribimos un tag o rama y presionamos “Launch”

3.3 Esperamos que el deploy se termine de ejecutar.

4. Visualizar que la ejecución sea exitosa, los logs que definamos y ejecutarlo manualmente.
4.1 Buscamos de nuevo nuestro servicio en la sección de backends y presionamos “Executions”.

4.2 Aquí podemos ver todas las ejecuciones de nuestra tarea, presionamos “Run manually”,veremos que se iniciara una nueva ejecución y presionaremos en su estado para ver el detalle.

4.3 Aquí veremos los logs de la ejecución.

5. Para concluir.
Una vez terminado el flujo completo de creación de un servicio de tipo “Schedule task” con una expresión cron configurada para definir los intervalos de ejecución ya sabremos cómo configurar esta valiosa herramienta e integrarla con nuestra consola de C4C7OPS.