category: Containers title: Trabajos order: 150 description: “Una visión general de los trabajos en DownToZero, que son contenedores programados que pueden activarse en base al tiempo o a los recursos.”
Visión general
Los trabajos son contenedores programados que se activan ya sea por tiempo o por recursos.
Programación
Todas las programaciones tienen un componente basado en el tiempo y otro basado en los recursos. Debido a la naturaleza de las distintas cargas de trabajo, el usuario puede decidir cuál es la entidad que desencadena la ejecución.
Programaciones principalmente basadas en el tiempo
Las programaciones basadas en el tiempo son fijas y requieren que un trabajo se ejecute dentro de un cierto intervalo. Esos trabajos sólo toleran una cantidad mínima de retraso, por lo que el consumo de recursos es sólo un factor secundario a la hora de desencadenar un trabajo.
Buenos ejemplos para programaciones basadas en el tiempo son:
- un CronJob que comprueba cada 5 minutos si hay nuevos registros en una base de datos
- un CronJob que comprueba cada 15 minutos si hay nuevos usuarios registrados
Programaciones principalmente basadas en recursos
Las programaciones basadas en recursos son más flexibles y requieren que un trabajo se ejecute dentro de un cierto rango de un intervalo. Esos trabajos pueden tolerar una programación más flexible para optimizar la disponibilidad y el consumo de recursos.
Buenos ejemplos para programaciones basadas en recursos
- un Job que comprueba un feed RSS, ejecutándose al menos una vez a la semana, como máximo una vez al día, dependiendo de las preferencias de recursos disponibles
- un Job que comprueba los pull requests de GitHub y ejecuta varias suites de pruebas siempre que haya recursos disponibles, pero al menos una vez al día
Variables de entorno del tiempo de ejecución
| variable | configurable | descripción |
|---|---|---|
| DTZ_ACCESS_TOKEN | sí (la identidad puede cambiarse) | JWT generado en el contexto que permite acceder a los recursos dentro del mismo. |
| DTZ_CONTEXT_ID | no | Contexto DTZ en el que se está ejecutando la aplicación actual |