feat(ml): auto-commit con 7 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
---
|
||||
name: comfyui_queue_manage
|
||||
kind: function
|
||||
lang: py
|
||||
domain: ml
|
||||
version: "1.0.0"
|
||||
purity: impure
|
||||
signature: "def comfyui_queue_manage(action: str, *, server: str = \"127.0.0.1:8188\", prompt_id: str | None = None) -> dict"
|
||||
description: "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)."
|
||||
tags: [comfyui, ml, queue, history, control, http]
|
||||
uses_functions: []
|
||||
uses_types: []
|
||||
returns: []
|
||||
returns_optional: false
|
||||
error_type: "error_go_core"
|
||||
imports: []
|
||||
params:
|
||||
- name: action
|
||||
desc: "operacion: 'status' (estado de la cola), 'clear' (vaciar pendientes), 'delete' (borrar un prompt; requiere prompt_id), 'history' (contar historial)."
|
||||
- name: server
|
||||
desc: "host:port del servidor ComfyUI sin esquema (default '127.0.0.1:8188')."
|
||||
- name: prompt_id
|
||||
desc: "id del prompt a borrar; obligatorio solo para action='delete'."
|
||||
output: "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)."
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
file_path: "python/functions/ml/comfyui_queue_manage.py"
|
||||
---
|
||||
|
||||
## Ejemplo
|
||||
|
||||
```python
|
||||
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.
|
||||
Reference in New Issue
Block a user