Merge pull request #11 from Aignosi/SIENTIAPDE-1163-alterar-dinamica-de-notificacoes-para-usar-o-mongodb-ao-inves-do-kafka
Sientiapde 1163 alterar dinamica de notificacoes para usar o mongodb ao inves do kafka
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -37,3 +37,5 @@ __pycache__/
|
|||||||
# Ignorar coverage
|
# Ignorar coverage
|
||||||
htmlcov/
|
htmlcov/
|
||||||
.coverage
|
.coverage
|
||||||
|
|
||||||
|
git_log
|
||||||
@@ -92,3 +92,10 @@ The application can be deployed using the following command:
|
|||||||
```bash
|
```bash
|
||||||
helm upgrade --install sientia-dataops-opc-ingestor sientia/sientia-module -n sientia-opc --create-namespace -f ./values.yaml
|
helm upgrade --install sientia-dataops-opc-ingestor sientia/sientia-module -n sientia-opc --create-namespace -f ./values.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#PR shortcut
|
||||||
|
```
|
||||||
|
git log origin/main..HEAD --no-merges > git_log
|
||||||
|
```
|
||||||
|
Prompt:
|
||||||
|
Write a summary of PR changes in markdown. Be objective and direct. Write to file
|
||||||
@@ -5,6 +5,6 @@ asyncua
|
|||||||
redis
|
redis
|
||||||
aiokafka
|
aiokafka
|
||||||
pymongo
|
pymongo
|
||||||
git+ssh://git@github.com/Aignosi/sientia-dataops-library.git@1.2.1
|
git+ssh://git@github.com/Aignosi/sientia-dataops-library.git@1.3.3
|
||||||
git+ssh://git@github.com/Aignosi/sientia-mlops-library.git@0.38.1
|
git+ssh://git@github.com/Aignosi/sientia-mlops-library.git@0.38.1
|
||||||
pydruid[pandas]
|
pydruid[pandas]
|
||||||
@@ -2,7 +2,7 @@ from temporalio import workflow
|
|||||||
|
|
||||||
with workflow.unsafe.imports_passed_through():
|
with workflow.unsafe.imports_passed_through():
|
||||||
from sientia_do.temporal.activities.postgres import Postgres
|
from sientia_do.temporal.activities.postgres import Postgres
|
||||||
from sientia_do.notifications.handlers import NotificationHandler
|
from sientia_do.notifications.handlers import CoreNotificationHandler as NotificationHandler
|
||||||
from sientia_do.temporal.utils.logger import Logger
|
from sientia_do.temporal.utils.logger import Logger
|
||||||
from scouter.activities.redis import Redis
|
from scouter.activities.redis import Redis
|
||||||
from scouter.activities.gates import Gates
|
from scouter.activities.gates import Gates
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import json
|
|||||||
from kafka import KafkaProducer
|
from kafka import KafkaProducer
|
||||||
from temporalio import activity
|
from temporalio import activity
|
||||||
|
|
||||||
from sientia_do.notifications.handlers import NotificationHandler
|
from sientia_do.notifications.handlers import CoreNotificationHandler as NotificationHandler
|
||||||
from sientia_do.temporal.activities.base import BaseActivity
|
from sientia_do.temporal.activities.base import BaseActivity
|
||||||
from sientia_do.temporal.utils.logger import Logger
|
from sientia_do.temporal.utils.logger import Logger
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ with workflow.unsafe.imports_passed_through():
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from pymongo import MongoClient
|
from pymongo import MongoClient
|
||||||
from pandas import DataFrame
|
from pandas import DataFrame
|
||||||
from sientia_do.notifications.handlers import NotificationHandler
|
from sientia_do.notifications.handlers import CoreNotificationHandler as NotificationHandler
|
||||||
from sientia_do.notifications.models import NotificationLevel
|
from sientia_do.notifications.models import NotificationLevel
|
||||||
from sientia_do.temporal.activities.base import BaseActivity
|
from sientia_do.temporal.activities.base import BaseActivity
|
||||||
from sientia_do.temporal.utils.logger import Logger
|
from sientia_do.temporal.utils.logger import Logger
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from temporalio import workflow, activity
|
|||||||
|
|
||||||
with workflow.unsafe.imports_passed_through():
|
with workflow.unsafe.imports_passed_through():
|
||||||
from logging import Logger
|
from logging import Logger
|
||||||
from sientia_do.notifications.handlers import NotificationHandler
|
from sientia_do.notifications.handlers import CoreNotificationHandler as NotificationHandler
|
||||||
from sientia_do.notifications.models import NotificationLevel
|
from sientia_do.notifications.models import NotificationLevel
|
||||||
from sientia_do.temporal.activities.redis_base import Redis as RedisBase
|
from sientia_do.temporal.activities.redis_base import Redis as RedisBase
|
||||||
from sientia_do.temporal.utils.logger import Logger
|
from sientia_do.temporal.utils.logger import Logger
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from temporalio.worker import Worker
|
|||||||
with workflow.unsafe.imports_passed_through():
|
with workflow.unsafe.imports_passed_through():
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
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 sientia_do.temporal.utils.logger import get_logger
|
||||||
from scouter.activities.activities import Activities
|
from scouter.activities.activities import Activities
|
||||||
from scouter.workflow.scouter import Scouter
|
from scouter.workflow.scouter import Scouter
|
||||||
@@ -28,8 +28,10 @@ async def main():
|
|||||||
|
|
||||||
logger.info('Starting Notification Handler...')
|
logger.info('Starting Notification Handler...')
|
||||||
|
|
||||||
|
mongo_config = build_mongodb_config()
|
||||||
notification_handler = NotificationHandler(
|
notification_handler = NotificationHandler(
|
||||||
servers=os.getenv('KAFKA_BOOTSTRAP_SERVERS', 'http://localhost:9092'),
|
connection_string=mongo_config['connection_string'],
|
||||||
|
database=mongo_config['database_name'],
|
||||||
logger=logger,
|
logger=logger,
|
||||||
project_name=os.getenv('PROJECT_NAME', 'scouter')
|
project_name=os.getenv('PROJECT_NAME', 'scouter')
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from unittest.mock import MagicMock, patch, call
|
from unittest.mock import MagicMock, patch, call
|
||||||
import pytest
|
import pytest
|
||||||
from sientia_do.notifications.handlers import NotificationHandler
|
from sientia_do.notifications.handlers import CoreNotificationHandler as NotificationHandler
|
||||||
from scouter.activities.faker import Faker
|
from scouter.activities.faker import Faker
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from datetime import datetime
|
|||||||
import pytest
|
import pytest
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from pandas import DataFrame
|
from pandas import DataFrame
|
||||||
from sientia_do.notifications.handlers import NotificationHandler
|
from sientia_do.notifications.handlers import CoreNotificationHandler as NotificationHandler
|
||||||
from sientia_do.notifications.models import NotificationLevel
|
from sientia_do.notifications.models import NotificationLevel
|
||||||
from scouter.activities.redis import Redis
|
from scouter.activities.redis import Redis
|
||||||
|
|
||||||
@@ -397,7 +397,14 @@ async def test_group_and_hold_data_error_set(redis_activity):
|
|||||||
'data': DataFrame(columns=['name', 'value', 'timestamp']).to_dict('records')
|
'data': DataFrame(columns=['name', 'value', 'timestamp']).to_dict('records')
|
||||||
}
|
}
|
||||||
|
|
||||||
redis_activity.get = MagicMock(return_value=None)
|
existing_data = {
|
||||||
|
'sensor1': 20.0,
|
||||||
|
'sensor2': 28.0,
|
||||||
|
'timestamp': '2023-01-01 11:00:00'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Mock get to return existing data
|
||||||
|
redis_activity.get = MagicMock(return_value=existing_data)
|
||||||
redis_activity.set = MagicMock(side_effect=Exception('test'))
|
redis_activity.set = MagicMock(side_effect=Exception('test'))
|
||||||
redis_activity.send_notification = MagicMock()
|
redis_activity.send_notification = MagicMock()
|
||||||
|
|
||||||
|
|||||||
11
values.yaml
11
values.yaml
@@ -11,7 +11,7 @@ image:
|
|||||||
# This sets the pull policy for images.
|
# This sets the pull policy for images.
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: "0.2.3"
|
tag: "0.2.4"
|
||||||
|
|
||||||
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
@@ -111,19 +111,14 @@ tolerations: []
|
|||||||
|
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
|
||||||
service:
|
service: {}
|
||||||
enabled: false
|
|
||||||
type: ClusterIP
|
|
||||||
port: 4840
|
|
||||||
targetPort: 4840
|
|
||||||
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# Entrypoint variables
|
# Entrypoint variables
|
||||||
- name: GITHUB_REPO_URL
|
- name: GITHUB_REPO_URL
|
||||||
value: "git@github.com:Aignosi/sientia-dataops-scouter_temporal.git"
|
value: "git@github.com:Aignosi/sientia-dataops-scouter_temporal.git"
|
||||||
- name: GITHUB_BRANCH
|
- name: GITHUB_BRANCH
|
||||||
value: "SIENTIAPDE-1148-separar-scouter-laborious-e-orchestrator-por-namespaces"
|
value: "SIENTIAPDE-1163-alterar-dinamica-de-notificacoes-para-usar-o-mongodb-ao-inves-do-kafka"
|
||||||
- name: PYTHON_APP
|
- name: PYTHON_APP
|
||||||
value: "scouter.worker.worker"
|
value: "scouter.worker.worker"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user