Trabajos
Visión general
Los trabajos son contenedores programados, que se desencadenan ya sea en función del tiempo o en función de los recursos.
Programación
Todas las programaciones tienen un componente basado en el tiempo y un componente basado en los recursos. Debido a la naturaleza de las distintas cargas de trabajo, el usuario puede decidir la entidad que desencadena.
Programaciones principalmente basadas en tiempo
Las programaciones basadas en tiempo son programaciones fijas que requieren que un trabajo se ejecute dentro de un cierto intervalo. Esos trabajos solo toleran una cantidad mínima de retraso, por lo que el consumo de recursos es solo un factor secundario a la hora de desencadenar un trabajo.
Buenos ejemplos para programaciones basadas en 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 programaciones flexibles que requieren que un trabajo se ejecute dentro de un cierto rango de un intervalo. Esos trabajos pueden tolerar un horario más flexible para optimizar la disponibilidad y el consumo de recursos.
Buenos ejemplos para programaciones basadas en recursos
- Un trabajo 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 trabajo que comprueba 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 en tiempo de ejecución
| variable | configurable | descripción |
|---|---|---|
| DTZ_ACCESS_TOKEN | sí (la identidad puede cambiarse) | JWT generado a partir del contexto que permite acceder a recursos dentro de ese contexto. |
| DTZ_CONTEXT_ID | no | Contexto DTZ en el que se está ejecutando la aplicación actual |