Nodes/AsyncOutput/BatchIterator Store Probe
ComfyUI Node

BatchIterator Store Probe

Peek inside the BatchIterator's hidden memory while your loop runs

By teddy1565·Created 5 months ago·Updated 5 months ago· 0
BatchIterator Store Probe
    • void
    key_id
    singalfalse
    target_dictmultiline_text_iterator_count

    BatchIterator Store Probe (class BatchIteratorStoreProbe) is the debug window into the BatchIterator family's invisible state. The whole pack runs on Python dictionaries you can't see from the UI - iterator positions, collected strings, emitter counters - and when a loop misbehaves, this node is how you look at what's actually in there. When you fire it, it prints the value stored under a key_id in whichever of the three internal dicts you point it at, straight to the server console.

    The painful part of debugging these stateful loop nodes is that nothing surfaces in the graph; the state lives in process memory and only the outputs you wire up show anything. StoreProbe is the pack's answer: put it in the branch that's misbehaving, tell it which dict and which key to inspect, trigger singal, and read the console line. It's the softer sibling of BatchIteratorErrorException - that one halts the run, this one just reports and keeps going.

    How it works

    It maintains a lookup of the three internal dicts under friendly names:

    • multiline_text_iterator_count - the per-key_id positions of the multiline iterators
    • storage_data_dict - the string-collection lists
    • storage_data_counter - the emitter counters

    When singal is true it looks up key_id in the selected dict and prints either the value or a "not a valid key in this dict" notice. singal false → nothing happens, and the node passes the signal through as void. It's an output node, so it sits at the end of a branch.

    The inputs that matter

    • key_id (STRING) - the key you want to inspect.
    • target_dict - which dict to look in (the three choices above, default multiline_text_iterator_count).
    • singal (BOOLEAN, default false) - the trigger; flip it true for one probe pass.

    Installing it

    No dependencies, no model files. ComfyUI Manager → search "AsyncOutput" → install and restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/teddy1565/ComfyUI-AsyncOutput
    

    It's under AsyncOutput/BatchIterator/SystemTools.

    Where people get burned

    The output goes to the ComfyUI server console, not the node or a text widget - so if you're looking for the probe's result on the canvas, you're looking in the wrong place. Also, "not a valid key" and "empty" can look identical from the outside, so pair the probe with a check of whether the key ever got created (which itself tells you whether the Collection or Emitter actually ran). And keep in mind it only prints on the passes where singal is true - it's a probe, not a live dashboard.

    CategoryAsyncOutput/BatchIterator/SystemTools

    Inputs (3)

    NameTypeDefaultDescription
    key_idSTRING
    singalBOOLEANfalse
    target_dictCOMBOmultiline_text_iterator_count3 options: multiline_text_iterator_count, storage_data_dict, storage_data_counter

    Outputs (1)

    NameTypeDescription
    voidBOOLEAN