Saltar a contenido

Tareas programadas

Pestaña Ajustes → Tareas programadas.

Las tareas programadas ejecutan automáticamente operaciones recurrentes en la plataforma.

Tipos de tareas

  • Tareas de aplicación: se dirigen a una aplicación de un namespace — reiniciar, iniciar, detener una aplicación, tomar una instantánea con retención, encolar un job Hop…
  • Tareas del sistema: mantenimiento de la plataforma (limpieza de la base de datos, reconciliación de aplicaciones…), reservadas a los administradores.

Crear una tarea

Nueva tarea → nombre, descripción, tarea a ejecutar (elegida del catálogo), destino (aplicación/namespace para una tarea de aplicación), y planificación:

  • Intervalo: cada n segundos/minutos/horas/días, con una Hora de inicio opcional: la tarea no se ejecuta antes de esa fecha. Se introduce en la hora de su navegador (la zona horaria se muestra junto al campo, «Zona horaria: …») y se guarda en UTC. Si se deja vacía, la primera ejecución tiene lugar un intervalo después de guardar, y la lista muestra esa fecha («desde el …»);
  • Cron: minuto, hora, día del mes, mes, día de la semana, con una Zona horaria elegida en una lista con búsqueda (la de su navegador por defecto); sin zona, es UTC.

Una tarea puede deshabilitarse sin eliminarse, y ejecutarse de inmediato (botón dedicado) independientemente de su planificación.

Crear o modificar una tarea de aplicación requiere el rol admin en el namespace de la aplicación destino.

Tareas de aplicación

Una tarea de aplicación se dirige a una aplicación concreta — salvo Detener todas las aplicaciones de un namespace, que se dirige directamente a un namespace completo (el campo aplicación queda oculto en favor de un campo namespace).

El nombre y el namespace de la aplicación destino se deducen siempre de la aplicación seleccionada: no indicarlos nunca como argumentos con nombre.

Reiniciar / Iniciar / Detener la aplicación

Nada que indicar: basta con elegir la aplicación.

Solo para Iniciar la aplicación, el número de réplicas puede indicarse en Opciones avanzadas → Argumentos con nombre (1 por defecto):

{ "replicas": 2 }

Warning

No añadir release_name a los argumentos con nombre: ya se transmite automáticamente, y el duplicado hace fallar la ejecución.

Detener todas las aplicaciones de un namespace

No hay tarea/aplicación que elegir en el formulario principal: aparece un campo Namespace dedicado en lugar del campo Aplicación. No hay argumentos con nombre que indicar — {"namespace": "..."} se inyecta automáticamente desde ese campo.

Instantánea de aplicación (con retención)

Formulario simplificado (visible sin "Opciones avanzadas"): un único campo, Número de copias a conservar (entero ≥ 1, 7 por defecto). release_name/namespace se deducen automáticamente de la aplicación seleccionada — no indicarlos como argumento con nombre.

Ejemplo: copia automática de un volumen

Una instantánea diaria del volumen de una aplicación crítica: planificación cron 0 2 * * *, retención de 7 instantáneas. Para restaurar una instantánea así creada, ver Volúmenes.

Llamar a una API REST

{
  "url": "https://ejemplo.com/api/hook",
  "method": "POST",
  "json_body": { "clave": "valor" },
  "headers": { "X-Custom": "valor" },
  "auth_param": "nombre_del_parametro_namespace",
  "timeout": 30
}
  • url (obligatorio).
  • method: GET, POST… (POST por defecto).
  • json_body: cuerpo JSON enviado tal cual (opcional).
  • headers: cabeceras HTTP adicionales (opcional).
  • auth_param: nombre de un parámetro del namespace de la aplicación seleccionada — su valor se lee y se inyecta tal cual en la cabecera Authorization (p. ej. Bearer xxx). Es el nombre del parámetro, no el token en sí. El namespace lo impone la aplicación elegida: un namespace indicado en los argumentos se ignora.
  • timeout: segundos (30 por defecto).

Encolar un job Hop

{
  "queue_name": "mi-hopqueue",
  "kind": "pipeline",
  "path": "/files/projects/current/mipipeline.hpl",
  "name": "MiPipeline",
  "parameters": {},
  "run_config": "local"
}
  • queue_name: nombre de una HopQueue existente en la aplicación Hop Server (no confundir con el campo Cola descrito más abajo — una cola de Celery, un concepto distinto).
  • kind: pipeline o workflow.
  • path: ruta del archivo .hpl/.hwf, tal como la devuelve la lista de archivos de la aplicación Hop Server (con el prefijo /files/projects/current/).
  • name: nombre interno del pipeline/workflow (atributo name del archivo Hop — no el nombre de la propia tarea programada indicado arriba en el formulario).
  • parameters: parámetros del pipeline/workflow (objeto, opcional).
  • run_config: run configuration de Hop (p. ej. local) — en la práctica requerida, la ejecución falla en Hop Server sin ella.

Note

Esta entrada sigue siendo un acceso de bajo nivel. Para planificar jobs Hop recurrentes de verdad, la sección dedicada Jobs recurrentes planificados de la propia aplicación Hop Server (formulario guiado, historial por job) es la vía recomendada — ver Apache Hop Server: jobs y planificación.

Opciones avanzadas

El botón Opciones avanzadas del formulario revela campos normalmente ocultos:

  • Argumentos con nombre: parámetros de la tarea en formato JSON libre — ver el detalle por tarea más arriba. Instantánea de aplicación y Detener todas las aplicaciones de un namespace tienen su propio formulario simplificado y no lo necesitan.
  • Cola: la cola de Celery que ejecuta la tarea (ajuste avanzado, rara vez necesario — sin relación con una HopQueue).
  • Argumentos posicionales: equivalente a los argumentos con nombre en forma de lista posicional, para una necesidad puntual.

Seguimiento

Cada tarea muestra su última ejecución y su contador total; su historial enumera las ejecuciones pasadas con su estado y su resultado, filtrable por estado.