|
63 | 63 | from app.services.runtime_settings import RuntimeSettingsLoader |
64 | 64 | from app.services.saga import SagaOrchestrator, SagaService |
65 | 65 | from app.services.saved_script_service import SavedScriptService |
66 | | -from app.services.sse import SSERedisBus, SSEService |
| 66 | +from app.services.sse import SSEService |
67 | 67 | from app.services.user_settings_service import UserSettingsService |
68 | 68 | from app.settings import Settings |
69 | 69 |
|
@@ -131,6 +131,7 @@ async def get_redis_client( |
131 | 131 | decode_responses=settings.REDIS_DECODE_RESPONSES, |
132 | 132 | socket_connect_timeout=5, |
133 | 133 | socket_timeout=5, |
| 134 | + socket_keepalive=True, |
134 | 135 | ) |
135 | 136 | # Test connection |
136 | 137 | await client.ping() # type: ignore[misc] # redis-py returns Awaitable[bool] | bool |
@@ -351,22 +352,19 @@ class SSEProvider(Provider): |
351 | 352 | scope = Scope.APP |
352 | 353 |
|
353 | 354 | @provide |
354 | | - def get_sse_redis_bus( |
| 355 | + def get_sse_service( |
355 | 356 | self, |
356 | 357 | redis_client: redis.Redis, |
| 358 | + execution_repository: ExecutionRepository, |
357 | 359 | logger: structlog.stdlib.BoundLogger, |
358 | 360 | connection_metrics: ConnectionMetrics, |
359 | | - ) -> SSERedisBus: |
360 | | - return SSERedisBus(redis_client, logger, connection_metrics) |
361 | | - |
362 | | - @provide |
363 | | - def get_sse_service( |
364 | | - self, |
365 | | - bus: SSERedisBus, |
366 | | - execution_repository: ExecutionRepository, |
367 | | - logger: structlog.stdlib.BoundLogger, |
368 | 361 | ) -> SSEService: |
369 | | - return SSEService(bus=bus, execution_repository=execution_repository, logger=logger) |
| 362 | + return SSEService( |
| 363 | + redis_client=redis_client, |
| 364 | + execution_repository=execution_repository, |
| 365 | + logger=logger, |
| 366 | + connection_metrics=connection_metrics, |
| 367 | + ) |
370 | 368 |
|
371 | 369 |
|
372 | 370 | class AuthProvider(Provider): |
@@ -483,15 +481,15 @@ def get_notification_service( |
483 | 481 | self, |
484 | 482 | notification_repository: NotificationRepository, |
485 | 483 | kafka_event_service: KafkaEventService, |
486 | | - sse_redis_bus: SSERedisBus, |
| 484 | + sse_service: SSEService, |
487 | 485 | settings: Settings, |
488 | 486 | logger: structlog.stdlib.BoundLogger, |
489 | 487 | notification_metrics: NotificationMetrics, |
490 | 488 | ) -> NotificationService: |
491 | 489 | return NotificationService( |
492 | 490 | notification_repository=notification_repository, |
493 | 491 | event_service=kafka_event_service, |
494 | | - sse_bus=sse_redis_bus, |
| 492 | + sse_service=sse_service, |
495 | 493 | settings=settings, |
496 | 494 | logger=logger, |
497 | 495 | notification_metrics=notification_metrics, |
@@ -731,12 +729,12 @@ def get_event_replay_service( |
731 | 729 | kafka_producer: UnifiedProducer, |
732 | 730 | replay_metrics: ReplayMetrics, |
733 | 731 | logger: structlog.stdlib.BoundLogger, |
734 | | - sse_bus: SSERedisBus, |
| 732 | + sse_service: SSEService, |
735 | 733 | ) -> EventReplayService: |
736 | 734 | return EventReplayService( |
737 | 735 | repository=replay_repository, |
738 | 736 | producer=kafka_producer, |
739 | 737 | replay_metrics=replay_metrics, |
740 | 738 | logger=logger, |
741 | | - sse_bus=sse_bus, |
| 739 | + sse_service=sse_service, |
742 | 740 | ) |
0 commit comments