Skip to main content
A merged stream whose membership can change while it runs. Sibling of mergeStreams, with a deliberately different lifetime contract — pick by whether the source set is fixed:
  • mergeStreams merges a fixed set. Its result represents all of them: it ends when they have all ended (immediately, for an empty set) and one member’s error ends the whole merge.
  • createStreamGroup owns a mutable set. It ends only via close() — zero members parks the consumer rather than ending it, so a set that is briefly empty mid-reconcile does not terminate the stream — and a member that fails is logged and dropped while its siblings keep running.
Dropping a faulted member (rather than restarting it here) keeps retry policy with the caller that knows the real inventory: keys() stops reporting it, so the caller’s next reconcile re-adds it through add.

Parameters

Returns

StreamGroup