🎈CCX Group Executor (Sender)
The node that actually runs those named groups
- signal
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_modewidget 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 setdelay_secondsand 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- theSIGNALfrom 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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| signal | SIGNAL | — | |
| execution_mode | COMBO | 后台执行 | 2 options: 前端执行, 后台执行 |
Outputs (0)
No outputs