SIENTIAPDE-1110

SIENTIAPDE-1110 Add MongoDB integration and enhance Redis activity with timestamp management functions.
This commit is contained in:
vitor-aignosi
2025-07-01 15:10:32 -03:00
parent e7b05ebf3a
commit 53337de74a
6 changed files with 227 additions and 6 deletions

View File

@@ -7,16 +7,18 @@ with workflow.unsafe.imports_passed_through():
from scouter.activities.redis import Redis
from scouter.activities.kafka import Kafka
from scouter.activities.gates import Gates
from scouter.activities.mongodb import MongoDB
from typing import Any
class Activities(Postgres, Redis, Kafka, Gates):
class Activities(Postgres, Redis, Kafka, Gates, MongoDB):
"""Activities class that combines multiple services with proper initialization."""
def __init__(self,
postgres_config: dict[str, Any],
redis_config: dict[str, Any],
kafka_config: dict[str, Any],
mongodb_config: dict[str, Any],
logger: Logger,
notification_handler: NotificationHandler):
@@ -62,6 +64,16 @@ class Activities(Postgres, Redis, Kafka, Gates):
notification_handler=notification_handler
)
# Initialize MongoDB
MongoDB.__init__(
self,
connection_string=mongodb_config['connection_string'],
database_name=mongodb_config['database_name'],
logger=logger,
notification_handler=notification_handler
)
def shutdown(self):
Postgres.close(self)
Kafka.close(self)
MongoDB.close(self)