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.