examples/immediate_event_processing.pyabxbus-ts/examples/immediate_event_processing.tsabxbus-rust/tests/test_eventbus_timeout.rsabxbus-go/tests/eventbus_dispatch_parent_tracking_test.go
Core pattern
- Python
- TypeScript
- Rust
- Go
Parallel fan-out inside a handler
If the parent bus/event usesevent_concurrency='parallel', you can queue-jump multiple child calls at once and wait for them as a group.
- Python
- TypeScript
- Go
- Rust
asyncio.gather(..., return_exceptions=True) is the closest Promise.allSettled(...) equivalent here. In Rust, call now().await on each emitted child to take the same immediate queue-jump path. In Go, call Now() on each emitted child.
Execution order example
In this pattern, sibling work can already be queued, but the awaited child still runs first.- Python
- TypeScript
- Go
- Rust
Interaction with concurrency modes
event_concurrency = global-serial: queue-jump still works, but all buses still share one global event slot.event_concurrency = bus-serial: queue-jump preempts that bus queue; other buses can continue processing independently.event_concurrency = parallel: events may already overlap; queue-jump still reduces parent latency for awaited child calls.event_handler_concurrency = serial: parent temporarily yields execution so child handlers can run without deadlock.event_handler_concurrency = parallel: child handlers can overlap with other handlers for the same event.event_handler_completion = first: winner semantics can cancel loser handlers and their in-flight child work.
Notes
- In Python,
await child_eventinside a handler is the immediate path. - In Python,
await child_event.wait()keeps normal queue order (non-queue-jump wait). - In TypeScript, use
await child_event.now(). - In TypeScript,
await child_event.wait()keeps normal queue order (non-queue-jump wait). - In Go, use
childEvent.Now()for the immediate path. - In Go, use
childEvent.Wait()to keep normal queue order. - In Rust, use
child_event.now().awaitfor the immediate path. - In Rust, use
child_event.wait().awaitto keep normal queue order.