[model-gateway] Run workflow event subscribers concurrently (#15504)

This commit is contained in:
Simo Lin
2025-12-19 15:49:51 -08:00
committed by GitHub
parent 0adfc42b99
commit 61405b3d00
+3 -4
View File
@@ -74,12 +74,11 @@ impl EventBus {
self.subscribers.write().await.push(subscriber); self.subscribers.write().await.push(subscriber);
} }
/// Publish an event to all subscribers /// Publish an event to all subscribers concurrently
pub async fn publish(&self, event: WorkflowEvent) { pub async fn publish(&self, event: WorkflowEvent) {
let subscribers = self.subscribers.read().await; let subscribers = self.subscribers.read().await;
for subscriber in subscribers.iter() { let futures: Vec<_> = subscribers.iter().map(|s| s.on_event(&event)).collect();
subscriber.on_event(&event).await; futures::future::join_all(futures).await;
}
} }
} }