Channels for communication
Why you need it
Flows need durable messages from the outside world and between concurrent Steps.
Code examples
Choose an SDK (preference is sticky in this browser; default Python).
unblock = Channel("unblock", str)
def wait_for(self, context, input):
return Wait.any_of(self.unblock.for_one())
Define Channels on the Flow; wait with channel.for_one() / for_n; publish from RPC or another Step.
How Dex implements it
Channel messages are persisted. Waiting Steps subscribe via Conditions; PublishToChannel completes matching waits.
Traditional workarounds
Workarounds: Kafka topics + consumer offsets + correlation IDs, or DB outboxes polled by workers.