Nodes/ComfyUI-CCXManager/🎈CCX Group Executor (Sender)
ComfyUI Node

🎈CCX Group Executor (Sender)

The node that actually runs those named groups

By WWWEN8·Created about a year ago·Updated 7 months ago· 6
🎈CCX Group Executor (Sender)
  • signal
    execution_mode后台执行

    CCXGroupExecutorSingle builds the to-do list; this node - the "🎈CCX Group Executor (Sender)" - does the work. Feed it the SIGNAL from a Single node and it finds the output nodes inside each named ComfyUI group, queues them, waits for them to finish, and moves on to the next. In the WWWEN8/ComfyUI-CCXManager pack it's the orchestrator that sequences the sd-ppp update steps; as a generic tool it's a repeat-a-section-of-graph machine with a progress bar.

    How it works

    This is a UI-driven output node. It has no outputs at all - it's meant to sit at the end of the line, OUTPUT_NODE style. When it receives a signal, it talks to the frontend via a ComfyUI websocket event, and the browser-side JS takes over: for each group name in the list it finds the group's output nodes, queues them through the same path as if you'd clicked "Queue" on them, waits for the run to drain, applies the delay, then loops for the next repeat or the next group.

    A couple of details worth knowing:

    • Two execution modes. The execution_mode widget shows 前端执行 (frontend) and 后台执行 (backend) - the labels are Chinese, and the default is backend. Functionally both end up queueing and running the groups; backend mode uses a global lock, so if anything else is already executing it politely refuses with a dialog instead of double-queuing.
    • __delay__ is a magic group name. Put __delay__ in the list and set delay_seconds and it just sleeps between groups - handy for pacing a long chain.
    • Interrupt works. Hit ComfyUI's interrupt during a run and it marks the run as cancelling, stops after the current group finishes, and reports "已取消" (cancelled).
    • Progress on the node. The node body shows "executing group X (n/total)" and a progress bar, so you don't have to stare at the console.

    Inputs

    • signal - the SIGNAL from CCXGroupExecutorSingle (or any chained executor).
    • execution_mode - 前端执行 or 后台执行, default 后台执行 (backend). Change it only if you have a reason to prefer the frontend path.

    No outputs. It's the end of the line.

    The classic mistake

    Beginners put the Single and Sender on the same canvas, hit Run, and the graph "completes" instantly while nothing happens in the group. That's normal - the Sender kicks the queue from the browser, so execution starts a beat after your run finishes. If it never starts, check that (a) the group name matches a real group title exactly, (b) the group has at least one output node (the Sender errors "no output node found in group" otherwise), and (c) you're not already running something - backend mode refuses concurrent runs.

    Install

    Same pack as the rest:

    cd ComfyUI/custom_nodes
    git clone https://github.com/WWWEN8/ComfyUI-CCXManager.git
    

    or ComfyUI Manager → search "ComfyUI-CCXManager", then restart. The Python side only needs requests; the real machinery lives in the pack's web/ JS, so restarting ComfyUI after install isn't optional - the frontend files have to load or the Sender can't hear the events.

    CategoryUpdate of SD-PPP Plugin

    Inputs (2)

    NameTypeDefaultDescription
    signalSIGNAL
    execution_modeCOMBO后台执行2 options: 前端执行, 后台执行

    Outputs (0)

    No outputs