Jobs programados

Jobs programados (/admin/scheduled-jobs) es el mantenedor del FunctionId SCHEDULED_JOBS (53). El título de pantalla es Jobs programados. Sustituye los crons HTTP del origin como plano de control: un worker Node (BullMQ) ejecuta los jobs; un CronJob de Kubernetes o node dist/cli.js run puede disparar los mismos handlers.

Permisos: menú Admin → Jobs programados (function.url = scheduled_jobs). View abre el listado. Add crea un job para un handler que todavía no tiene instancia. Edit controla horario, estado y Ejecutar ahora. Delete solo aplica a jobs personalizados (no sistema). Las filas de sistema no se pueden borrar.

Diseño de pantalla

Listado de jobs programados con nombre, handler, estado, horario, última ejecución y Ejecutar ahora

Figura: listado FoodHub — checkboxes, Add job, Search..., Filter, Export, barra bulk (Activar / Pausar / Deshabilitar / Eliminar), columnas ordenables Nombre, Handler, Estado, Programación, Última ejecución, fila ⋮.

Listado

  • La búsqueda cubre Nombre o Handler.
  • Filter abre un popover (Apply / Reset) con Estado y Handler. Estado: Activo (automático + manual), Pausado (solo manual), Deshabilitado (no corre). Handler lista los códigos registrados.
  • Los jobs Sistema son los crons recurrentes del origin (reminders, due-date, urgencia de tasks, ajuste de precio, concrete quotes, flags pending de Data Tracking).
  • Add job queda deshabilitado si cada handler ya tiene fila. Hay que borrar un job personalizado (o agregar un handler en código) antes de crear otro.
  • Los checkboxes seleccionan todas las filas de la página, incluso las de Sistema. La barra bulk (entre Filter y la tabla) ofrece Activar, Pausar y Deshabilitar (Edit) de inmediato, y Eliminar (permiso Delete) con confirmación.
  • El Eliminar masivo omite jobs de sistema. Si la selección es solo sistema, no se borra nada.
  • El ⋮ de la fila incluye Editar, Ejecutar ahora (si no está Deshabilitado), Activar / Pausar / Deshabilitar para los estados que no son el actual, y Eliminar solo si el job no es Sistema.
  • La programación muestra el cron de cinco campos y la zona (default America/New_York).
  • Nombre, Expresión cron, Zona horaria, Estado.
  • Historial de ejecuciones lista corridas SUCCEEDED / FAILED / RUNNING.
  • Ejecutar ahora dispara una corrida si no hay otra RUNNING.

Las URLs HTTP /cron-* quedan para el cutover del crontab origin y en producción exigen CRON_SECRET.