Comparteix via


Ejecución de trabajos continuamente

Use el modo continuo para programar cargas de trabajo para que se ejecuten continuamente. Databricks recomienda usar el modo continuo para cargas de trabajo de streaming siempre activadas.

El modo continuo reemplaza las recomendaciones antiguas de las cargas de trabajo de flujo estructurado para configurar trabajos con una directiva de reintento sin limites y un máximo de una ejecución simultánea.

Importante

El proceso sin servidor para trabajos no admite el modo continuo.

Configuración del trabajo para que se ejecute en modo continuo

Para configurar un trabajo para que se ejecute en modo continuo, haga lo siguiente:

  1. En la barra lateral del área de trabajo de Azure Databricks, haga clic en Trabajos y canalizaciones.

  2. Opcionalmente, seleccione los filtros Trabajos y Propiedad de mí .

  3. Haga clic en el vínculo Nombre del trabajo.

  4. Haga clic en Agregar desencadenador en el panel Detalles del trabajo , seleccione Continuo en Tipo de desencadenador.

  5. Opcionalmente, seleccione un modo de reintento de tareas. Puede optar por reintentar En caso de fallo para las tareas fallidas dentro de un trabajo, o seleccionar Nunca para solo reintentar al nivel de trabajo. El modo de reintento de tareas tiene como valor predeterminado Activado un error para el modo continuo.

    Nota:

    Para un trabajo ya existente, es posible que tenga que hacer clic primero en Configurar modo de reintento y, a continuación, seleccionar un modo de reintento de tareas.

  6. Haz clic en Guardar.

Para detener un trabajo continuo, haga clic en el botón Pausar. Haga clic en Reanudar para reiniciar el trabajo en modo continuo.

Nota:

  • Solo puede haber una instancia en ejecución de un trabajo continuo.
  • Hay un pequeño retraso entre la finalización de una ejecución y un nuevo inicio de ejecución. Este retraso debe ser inferior a 60 segundos.
  • No se pueden usar dependencias de tareas con un trabajo continuo.
  • No se pueden usar directivas de reintento en un trabajo continuo. En su lugar, los trabajos continuos reintentan automáticamente todo el trabajo en caso de error mediante un algoritmo de retroceso exponencial .
  • Además, puede configurar reintentos en el nivel de tarea estableciendo el modo de reintento de tareas en Error activado.
  • Seleccione Ejecutar ahora para desencadenar una nueva ejecución de trabajo en un trabajo continuo que está en pausa.
  • Para que el trabajo continuo seleccione una nueva configuración, cancele la ejecución existente. Se inicia automáticamente una nueva ejecución. También puede hacer clic en Reiniciar ejecución para reiniciar la ejecución del trabajo con la configuración actualizada.

¿Cómo se controlan los errores de los trabajos continuos?

Los errores se administran mediante un algoritmo de retroceso exponencial .

Cuando el modo de reintento de tareas se establece en Error activado, las tareas con errores se reintentan con un retraso exponencialmente creciente hasta que se alcanza el número máximo de reintentos permitidos (tres para un único trabajo de tarea). Una vez alcanzados los reintentos máximos, se cancela la ejecución y se desencadena una nueva ejecución. En el caso de los trabajos con varias tareas, una tarea con errores desencadena una nueva ejecución si no hay ninguna otra tarea en ejecución, o todas las demás tareas no completadas también se encuentran en un estado de error o reintento.

Los errores consecutivos en un nivel de trabajo también se administran mediante retroceso exponencial, lo que permite que los trabajos continuos se ejecuten sin pausar y vuelvan a un estado correcto cuando se produzcan errores recuperables.

Cuando un trabajo continuo supera el umbral permitido de errores consecutivos, a continuación se describe cómo se administran las ejecuciones de trabajos posteriores:

  1. El trabajo se reinicia después de un período de reintento establecido por el sistema.
  2. Si se produce un error en la siguiente ejecución del trabajo, se aumenta el período de reintento y el trabajo se reinicia después de este nuevo período de reintento.
    1. Para cada error de ejecución de trabajo posterior, el período de reintento aumenta hasta un período máximo de reintento establecido por el sistema. Después de alcanzar el período máximo de reintentos, el trabajo continúa reintentándose mediante el período máximo de reintento. No hay ningún límite en el número de reintentos de un trabajo continuo.
    2. Si la ejecución del trabajo se completa correctamente e inicia una nueva ejecución o si la ejecución supera un umbral sin error, el trabajo se considera correcto y la secuencia de retroceso se restablece.

Puede reiniciar un trabajo continuo en el estado de espera exponencial en la Jobs UI o pasando el identificador de trabajo a la solicitud run-now en la Jobs API.