Comandos de workers y scheduler
queue:work, schedule:work y mcp:start son procesos de consumo o servicio; no se sustituyen entre sí. Los demás comandos inspeccionan o modifican sus registros. Cada uno se ejecuta desde la raíz del proyecto, mediante orionis o el archivo local reactor.
Todas las firmas admiten -h / --help. Las políticas de reintento/persistencia pertenecen al servicio de Queues o al scheduler: no infieras flags de otros sistemas de workers.
mcp:list
Sección titulada «mcp:list»Lista servidores MCP HTTP y locales.
No recibe argumentos ni opciones específicas; solo la ayuda automática.
Consulta IMcpManager.servers() y muestra transporte, endpoint o handle y clase de servidor. Sin registros informa que no hay servidores; no inicia ninguno ni recibe filtros.
orionis mcp:listpython -B reactor mcp:listmcp:start
Sección titulada «mcp:start»Inicia un servidor MCP local mediante STDIO.
| Argumento u opción | Tipo y presencia | Valor efectivo al omitir | Propósito |
|---|---|---|---|
name | str, obligatorio | — | Nombre del archivo/clase; admite subdirectorios cuando se usa el generador. |
name es el handle local obligatorio registrado en MCP, no una URL ni una clase. Comprueba su existencia y ejecuta IMcpManager.startLocal(name). Un handle ausente/inválido devuelve 1; la finalización normal devuelve 0. El proceso utiliza STDIN/STDOUT para el protocolo y redirige diagnósticos de arranque/comando/apagado a STDERR. No ejecuta un servidor HTTP ni recibe --host, --port o --transport. Consulta la guía MCP para registrar el handle y la revisión de protocolo implementada.
orionis mcp:start catalogpython -B reactor mcp:start catalogqueue:clear
Sección titulada «queue:clear»Vacía una cola, incluidos jobs retrasados o reservados.
| Argumento u opción | Tipo y presencia | Valor efectivo al omitir | Propósito |
|---|---|---|---|
connection | str, opcional | Conexión predeterminada | Nombre de conexión de colas. |
--queue | str, opcional | default | Nombre de cola; queue:work acepta nombres separados por comas. |
connection es opcional (None: predeterminada). --queue es una cadena con default literal default, incluso si la conexión configura otro nombre de cola; no admite una lista separada por comas. Elimina jobs listos, retrasados y reservados y muestra el conteo. No pide confirmación ni tiene --force; no borra el repositorio de fallos ni puede deshacer efectos de un handle() que ya se ejecuta. Devuelve 0 o 1 ante QueueError.
orionis queue:clear database --queue reportspython -B reactor queue:clear database --queue reportsqueue:failed
Sección titulada «queue:failed»Lista los jobs con fallo terminal.
No recibe argumentos ni opciones específicas; solo la ayuda automática.
No admite conexión, paginación ni flags. Consulta el repositorio SQL de fallos configurado en queue.failed, aunque el backend de jobs sea Redis o sync. Muestra ID del registro fallido, ID del job, conexión/cola, intentos y excepción. Usa el primer ID para retry/forget. Devuelve 0 si la consulta termina y 1 ante QueueError.
orionis queue:failedpython -B reactor queue:failedqueue:forget
Sección titulada «queue:forget»Elimina un registro de fallo.
| Argumento u opción | Tipo y presencia | Valor efectivo al omitir | Propósito |
|---|---|---|---|
id | str, obligatorio | — | ID del registro fallido, no el ID del job. |
id es una cadena posicional obligatoria del repositorio de fallos. No reintenta el job ni borra trabajo de las colas activas. Devuelve 0 al eliminarlo y 1 si no existe o se produce QueueError.
orionis queue:forget 866a127d-3185-4e5c-b21c-65eef9cd78a8python -B reactor queue:forget 866a127d-3185-4e5c-b21c-65eef9cd78a8queue:migrate
Sección titulada «queue:migrate»Crea las tablas faltantes de todas las conexiones de colas con driver database y el repositorio SQL central de fallos.
No recibe argumentos ni opciones específicas; solo la ayuda automática.
Disponible desde 1.0.10. Usa la configuración de colas de la aplicación y respeta las conexiones SQL, nombres de tablas y prefijos configurados. Incluye las conexiones Database que no son la predeterminada y prepara el almacenamiento de fallos incluso si los jobs usan sync o redis. Crea columnas e índices y conserva los datos existentes; no compara ni actualiza una estructura antigua incompatible. No abre clientes Redis ni inicia workers. La creación perezosa en el primer uso sigue disponible.
El usuario SQL necesita permisos de creación y el motor debe imponer restricciones únicas. No admite --database, una conexión posicional ni --force. Una ejecución correcta imprime Queue tables migrated successfully. y devuelve 0; un DatabaseException o QueueError capturado devuelve 1. Consulta preparación de tablas y Queue.migrate().
orionis queue:migratepython reactor queue:migratequeue:retry
Sección titulada «queue:retry»Reenvía un job fallido identificado.
| Argumento u opción | Tipo y presencia | Valor efectivo al omitir | Propósito |
|---|---|---|---|
id | str, obligatorio | — | ID del registro fallido, no el ID del job. |
id es el identificador obligatorio del registro fallido mostrado por queue:failed. Reencola el envelope original en su conexión y cola, conserva el ID del job y elimina el registro fallido después del push. Si venció retryUntil() o no existe el fallo, devuelve 1 mediante QueueError. No tiene all, --all ni selección de conexión. El push y el borrado del fallo son pasos separados; consulta sus límites de atomicidad en Queues.
orionis queue:retry 866a127d-3185-4e5c-b21c-65eef9cd78a8python -B reactor queue:retry 866a127d-3185-4e5c-b21c-65eef9cd78a8queue:work
Sección titulada «queue:work»Consume jobs persistidos en una conexión de colas.
| Argumento u opción | Tipo y presencia | Valor efectivo al omitir | Propósito |
|---|---|---|---|
connection | str, opcional | Conexión predeterminada | Nombre de conexión de colas. |
--queue | str, opcional | Cola de la conexión | Nombre de cola; queue:work acepta nombres separados por comas. |
--concurrency | int, opcional | queue.worker.concurrency | Consumidores concurrentes; entero positivo. |
--max-jobs | int, opcional | Sin límite | Máximo de intentos reservados; entero positivo. |
--stop-when-empty | Bandera, opcional | False | Terminar cuando la reserva no encuentra trabajo listo. |
connection es una cadena posicional opcional (None: conexión predeterminada). --queue acepta una cadena de nombres separados por comas; se eliminan espacios alrededor de cada nombre y se conserva el orden de prioridad. Omitida usa la cola configurada en la conexión. --concurrency es un entero positivo opcional (por defecto queue.worker.concurrency); --max-jobs limita la cantidad de intentos reservados con un entero positivo, y omitido no fija un límite. --stop-when-empty (False por defecto) termina cuando no hay trabajo listo en el momento de consultar: puede dejar jobs retrasados o reservados pendientes.
La conexión sync no permite crear workers. Se instalan handlers de señales para solicitar una parada ordenada. El resultado exitoso muestra el número de intentos y devuelve 0; un QueueError devuelve 1. --tries, --timeout, --backoff, --sleep y --retry-after no son opciones de este comando: se resuelven desde configuración y política del job.
orionis queue:work database --queue critical,default --concurrency 2 --max-jobs 100 --stop-when-emptypython -B reactor queue:work database --queue critical,default --concurrency 2 --max-jobs 100 --stop-when-emptyschedule:list
Sección titulada «schedule:list»Inspecciona las tareas definidas por el scheduler.
No recibe argumentos ni opciones específicas; solo la ayuda automática.
Obtiene app.getScheduler(), resuelve ISchedule e invoca tasks(schedule=...) mediante el contenedor antes de consultar info(). Muestra firma, argumentos, propósito, random delay, coalescing, máximo de instancias, tolerancia de misfire y fechas. No ejecuta boot() del servicio ni procesa las tareas. El método tasks() sí se evalúa, por lo que debe concentrarse en declarar la programación.
orionis schedule:listpython -B reactor schedule:listschedule:work
Sección titulada «schedule:work»Inicia el proceso del scheduler.
No recibe argumentos ni opciones específicas; solo la ayuda automática.
Carga el scheduler registrado, exige tasks() invocable, registra las tareas y los listeners onStarted, onPaused, onResumed y onShutdown, ejecuta ISchedule.boot() y espera con wait(). Permanece activo hasta el apagado; no es un tick ni un comando que deba lanzarse cada minuto. No acepta --once, --queue ni flags de driver: la persistencia procede de la configuración de tareas.
Si ya inició y recibe KeyboardInterrupt o cancelación, llama a shutdown() y espera el cierre. Los errores reconocidos de conexión, persistencia y sistema de archivos se muestran con estado 1; otras excepciones se propagan. Las excepciones de jobs programados y sus listeners se explican en la guía del scheduler.
orionis schedule:workpython -B reactor schedule:workConsulta Workers de colas, Reintentos y fallos, Programación de tareas y MCP para configurar los servicios y sus componentes.