SIENTIAPDE-1110

Integrate Druid activity into the Activities class, adding support for Druid configuration and initialization. Update worker and connectors configuration to accommodate Druid, enhancing data processing capabilities.
This commit is contained in:
vitor-aignosi
2025-07-02 09:02:59 -03:00
parent 91f2d8610b
commit 332612ac84
7 changed files with 114 additions and 7 deletions

View File

@@ -8,10 +8,11 @@ with workflow.unsafe.imports_passed_through():
from scouter.activities.kafka import Kafka
from scouter.activities.gates import Gates
from scouter.activities.mongodb import MongoDB
from scouter.activities.pydruid import Druid
from typing import Any
class Activities(Postgres, Redis, Kafka, Gates, MongoDB):
class Activities(Postgres, Redis, Kafka, Gates, MongoDB, Druid):
"""Activities class that combines multiple services with proper initialization."""
def __init__(self,
@@ -19,6 +20,7 @@ class Activities(Postgres, Redis, Kafka, Gates, MongoDB):
redis_config: dict[str, Any],
kafka_config: dict[str, Any],
mongodb_config: dict[str, Any],
druid_config: dict[str, Any],
logger: Logger,
notification_handler: NotificationHandler):
@@ -73,6 +75,15 @@ class Activities(Postgres, Redis, Kafka, Gates, MongoDB):
notification_handler=notification_handler
)
# Initialize Druid
Druid.__init__(
self,
host=druid_config['host'],
port=druid_config['port'],
logger=logger,
notification_handler=notification_handler
)
def shutdown(self):
Postgres.close(self)
Kafka.close(self)