Skip to content

Factory Studio — workers, grains and sagas

Generated from the architecture model

This page is rendered from model/**/*.yaml by tools/docs_model during mkdocs build. Edit the YAML, not this page; hand-written design lives on the linked service, platform and plane pages.

Workers

Worker Service Trigger Output events Retry Idempotency key Concurrency
SessionSweeper StudioBff schedule */15 * * * * — none ×1 sessionId 2 by TenantId
FanOut StudioNotificationService event AlertRuleService.AlertFired NotificationCreated exponential ×5 eventId + userId 8 by TenantId
Digester StudioNotificationService schedule 0 * * * * — fixed ×2 userId + window 4 by TenantId
StreamBridge StudioRealtimeGateway event DashboardService.RunProjectionUpdated — exponential ×10 subscriptionId + sequence 16 by TenantId
  • SessionSweeper (StudioBff): Expires idle sessions and releases their realtime subscriptions.
  • FanOut (StudioNotificationService): Resolves recipients per event through the owning platform's permission check and the users' preferences, creates notifications and dispatches email and chat deliveries through connectors.
  • Digester (StudioNotificationService): Builds hourly or daily digests for users who chose them.
  • StreamBridge (StudioRealtimeGateway): Holds the upstream gRPC streams (operations projections per scope) and fans them out to subscribed connections with per-connection buffers and backpressure.

Grains (actors)

None modelled

No grains are modelled for this item yet.

Sagas

None modelled

No sagas are modelled for this item yet.