SIENTIAPDE-1163
Update requirements and refactor Ingestor class for MongoDB integration - Updated sientia-dataops-library dependency version to 1.3.0 in requirements.txt. - Refactored Ingestor class to use CoreNotificationHandler and added MongoDB connection parameters to improve configuration management.
This commit is contained in:
@@ -3,7 +3,8 @@ from os import getenv
|
||||
from copy import deepcopy
|
||||
from typing import Dict, Any
|
||||
|
||||
from sientia_do.notifications.handlers import NotificationHandler
|
||||
from sientia_do.notifications.handlers import CoreNotificationHandler as NotificationHandler
|
||||
from sientia_do.temporal.utils.logger import get_logger
|
||||
|
||||
from ingestor.managers.ingestor_manager import IngestorManager
|
||||
|
||||
@@ -23,6 +24,10 @@ class Ingestor:
|
||||
HEARTBEAT_TTL (int): Time-to-live for heartbeats in seconds. Defaults to 20.
|
||||
HOSTNAME (str): Identifier for the current pod or host. Defaults to "localhost".
|
||||
POLL_INTERVAL (int): Interval in seconds for polling operations. Defaults to 5.
|
||||
MONGODB_URL (str): URL of the MongoDB server. Defaults to "localhost:27017".
|
||||
MONGODB_USERNAME (str): Username for the MongoDB server. Defaults to "sientia".
|
||||
MONGODB_PASSWORD (str): Password for the MongoDB server. Defaults to "sientia".
|
||||
MONGODB_DATABASE (str): Name of the MongoDB database. Defaults to "sientia".
|
||||
Attributes:
|
||||
kafka_servers (list): List of Kafka server addresses.
|
||||
redis_host (str): Hostname of the Redis server.
|
||||
@@ -50,17 +55,18 @@ class Ingestor:
|
||||
self.heartbeat_ttl = int(getenv("HEARTBEAT_TTL", "20"))
|
||||
self.pod_id = getenv("HOSTNAME", "localhost")
|
||||
self.poll_interval = int(getenv("POLL_INTERVAL", "5"))
|
||||
mongo_url = getenv("MONGODB_URL", 'localhost:27017')
|
||||
mongo_username = getenv("MONGODB_USERNAME", 'sientia')
|
||||
mongo_password = getenv("MONGODB_PASSWORD", 'sientia')
|
||||
self.mongo_database = getenv("MONGODB_DATABASE", 'sientia')
|
||||
mongo_url = getenv("MONGODB_URL", "localhost:27017")
|
||||
mongo_username = getenv("MONGODB_USERNAME", "sientia")
|
||||
mongo_password = getenv("MONGODB_PASSWORD", "sientia")
|
||||
self.mongo_database = getenv("MONGODB_DATABASE", "sientia")
|
||||
self.mongo_connection_string = f"mongodb://{mongo_username}:{mongo_password}@{mongo_url}"
|
||||
|
||||
self.kafka_servers = kafka_servers.split(",")
|
||||
self.logger = None
|
||||
self.init_logger()
|
||||
self.notification_handler = NotificationHandler(
|
||||
servers=self.kafka_servers,
|
||||
connection_string=self.mongo_connection_string,
|
||||
database=self.mongo_database,
|
||||
logger=self.logger,
|
||||
project_name="OPC_INGESTOR"
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
asyncua==1.1.5
|
||||
redis
|
||||
git+ssh://git@github.com/Aignosi/sientia-dataops-library.git@1.2.0
|
||||
git+ssh://git@github.com/Aignosi/sientia-dataops-library.git@1.3.0
|
||||
prometheus_client
|
||||
pymongo
|
||||
Reference in New Issue
Block a user