Files
fn_registry/python/functions/ml/comfyui_queue_manage.md
T
egutierrez ff41f4f053 feat(ml): auto-commit con 7 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-24 02:52:51 +02:00

3.7 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
comfyui_queue_manage function py ml 1.0.0 impure def comfyui_queue_manage(action: str, *, server: str = "127.0.0.1:8188", prompt_id: str | None = None) -> dict Gestiona la cola y el historial de ComfyUI via su API HTTP. action='status' (GET /queue -> queue_running/queue_pending), 'clear' (POST /queue {"clear":true} -> vacia pendientes), 'delete' (POST /queue {"delete":[prompt_id]} -> borra un prompt, requiere prompt_id), 'history' (GET /history -> history_count). Completa lo que comfyui_interrupt_queue no cubre. Devuelve {ok, action, queue_running, queue_pending, history_count, error}. NO lanza en fallo de red: degrada a {ok:False, error}. Impura: HTTP GET/POST, solo stdlib (urllib, json).
comfyui
ml
queue
history
control
http
false error_go_core
name desc
action operacion: 'status' (estado de la cola), 'clear' (vaciar pendientes), 'delete' (borrar un prompt; requiere prompt_id), 'history' (contar historial).
name desc
server host:port del servidor ComfyUI sin esquema (default '127.0.0.1:8188').
name desc
prompt_id id del prompt a borrar; obligatorio solo para action='delete'.
dict con ok (bool), action (str, eco), queue_running (int, prompts ejecutandose; status/clear/delete), queue_pending (int, prompts encolados; status/clear/delete), history_count (int, prompts en el historial; action='history'), error (str, vacio si OK). false
python/functions/ml/comfyui_queue_manage.py

Ejemplo

import sys, os
sys.path.insert(0, os.path.join(os.environ["HOME"], "fn_registry", "python", "functions"))
from ml.comfyui_queue_manage import comfyui_queue_manage

# Estado de la cola
st = comfyui_queue_manage("status")
# {'ok': True, 'action': 'status', 'queue_running': 1, 'queue_pending': 3, 'history_count': 0, 'error': ''}

# Cuantos prompts recuerda el historial
h = comfyui_queue_manage("history")
print(h["history_count"])

# Vaciar los pendientes (no corta el que se ejecuta; para eso, comfyui_interrupt_queue)
comfyui_queue_manage("clear")

# Borrar un prompt concreto de la cola de pendientes
comfyui_queue_manage("delete", prompt_id="abc123-...")

O lanzable directo: ./fn run comfyui_queue_manage status · ./fn run comfyui_queue_manage history.

Cuando usarla

Cuando necesitas operar la cola mas alla de cortar el prompt en curso: ver de un vistazo cuanto queda (status), limpiar de golpe un barrido de seeds que ya no quieres (clear), quitar un prompt pesado encolado por error sin matar el que se ejecuta (delete), o saber cuantas generaciones recuerda el servidor (history). Es el complemento de comfyui_interrupt_queue (que solo corta + lee) para cubrir las cuatro acciones restantes de /queue y /history.

Gotchas

  • clear vacia SOLO los pendientes; el prompt en ejecucion sigue. Para cortarlo usa comfyui_interrupt_queue (POST /interrupt) antes del clear.
  • delete requiere prompt_id; sin el devuelve ok=False con el error. El id es el que devuelve comfyui_submit_workflow. Borrar un prompt que ya no esta en la cola es inocuo (el servidor lo ignora).
  • En status/clear/delete se rellenan queue_running/queue_pending; en history se rellena history_count (los otros quedan en 0). Mira action para saber que campos son significativos.
  • En fallo de red NO lanza: devuelve ok=False con el mensaje en error. Comprueba ok antes de fiarte de los conteos.
  • history_count es el numero de entradas que el servidor mantiene en memoria, no un acumulado historico persistente: se reinicia al reiniciar ComfyUI.