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¶
- Resumen de tareas: Tarjetas que muestran nombre, descripción, próxima ejecución, estado activo y último resultado.
- Panel de acciones (al expandir cada tarjeta):
- Programar/editar recurrencia.
- Ejecutar “Run now”.
- Cancelar (desactivar definitivamente).
- Revisar último log (
stdout,stderr, respuesta). - Sección de depuración (locks, próxima ejecución precisa).
Acciones paso a paso¶
Programar una tarea¶
- Haz clic en la tarea deseada para expandirla.
- Selecciona “Programar”.
- Elige:
- Una fecha/hora exacta (
run_at) — se ejecuta una vez y luego se desactiva. - Intervalo recurrente (
minutos) — se reprograma cada N minutos. - Confirma. El backend actualiza Redis (
sched:index) y verás la nueva fecha en “Próxima ejecución”.
Ejecutar de inmediato¶
- Usa “Ejecutar ahora”.
- La API encola
run_registered_tasken Huey y devuelve unqueue_task_idpara seguimiento. - Supervisa la consola de workers o revisa nuevamente el último resultado tras unos segundos.
Cancelar recurrencia¶
- Selecciona “Cancelar”.
- 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¶
- Pulsa “Último resultado”.
- Aparecerá un diálogo con:
- Indicador de éxito/error.
- Fecha/hora (
ts_iso). stdout,stderryresultretornado.- Usa el botón de copiar si necesitas compartir los logs.
Depurar bloqueos¶
- En la sección “Debug” revisa
sched_hash,next_run_isoy si existe un lock activo (jobs:lock:{task_id}). - 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/logspara detectar errores HTTP relacionados.