Saltar a contenido

Admin → Tareas programadas (/admin/tasks)

  • Permisos mínimos: AccessAdmin.TASKS_MANAGEMENT.
  • API base: /api/admin/tasks.

Objetivo

Supervisar y operar las tareas registradas en Huey (app/tasks/tasks.py): programar recurrencias, ejecutar manualmente, consultar resultados y limpiar bloqueos.

Secciones

  1. Resumen de tareas: Tarjetas que muestran nombre, descripción, próxima ejecución, estado activo y último resultado.
  2. Panel de acciones (al expandir cada tarjeta):
  3. Programar/editar recurrencia.
  4. Ejecutar “Run now”.
  5. Cancelar (desactivar definitivamente).
  6. Revisar último log (stdout, stderr, respuesta).
  7. Sección de depuración (locks, próxima ejecución precisa).

Acciones paso a paso

Programar una tarea

  1. Haz clic en la tarea deseada para expandirla.
  2. Selecciona “Programar”.
  3. Elige:
  4. Una fecha/hora exacta (run_at) — se ejecuta una vez y luego se desactiva.
  5. Intervalo recurrente (minutos) — se reprograma cada N minutos.
  6. Confirma. El backend actualiza Redis (sched:index) y verás la nueva fecha en “Próxima ejecución”.

Ejecutar de inmediato

  1. Usa “Ejecutar ahora”.
  2. La API encola run_registered_task en Huey y devuelve un queue_task_id para seguimiento.
  3. Supervisa la consola de workers o revisa nuevamente el último resultado tras unos segundos.

Cancelar recurrencia

  1. Selecciona “Cancelar”.
  2. La tarea se marca como inactiva (active=0) y se elimina de la cola programada. Puedes reactivarla más adelante programando otra recurrencia.

Revisar resultados

  1. Pulsa “Último resultado”.
  2. Aparecerá un diálogo con:
  3. Indicador de éxito/error.
  4. Fecha/hora (ts_iso).
  5. stdout, stderr y result retornado.
  6. Usa el botón de copiar si necesitas compartir los logs.

Depurar bloqueos

  1. En la sección “Debug” revisa sched_hash, next_run_iso y si existe un lock activo (jobs:lock:{task_id}).
  2. Si detectas un bloqueo stale, presiona “Liberar lock” (equivale a DELETE /clean_lock/{task_id}).

Consejos

  • Configura intervalos realistas; recuerda que Huey corre con workers en modo thread (-w 2). Intervalos menores a 1 minuto no son recomendables.
  • Revisa la columna “Recurrencia” para evitar tener tareas duplicadas ejecutándose simultáneamente.
  • Cuando programes importaciones pesadas, monitorea el panel /admin/logs para detectar errores HTTP relacionados.