fdc-shared-kernel 0.0.45__tar.gz → 0.0.46__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/PKG-INFO +1 -1
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/fdc_shared_kernel.egg-info/PKG-INFO +1 -1
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/fdc_shared_kernel.egg-info/SOURCES.txt +4 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/pyproject.toml +1 -1
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/custom_exceptions.py +6 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/logger/__init__.py +1 -0
- fdc_shared_kernel-0.0.46/shared_kernel/registries/__init__.py +1 -0
- fdc_shared_kernel-0.0.46/shared_kernel/registries/service_event_registry.py +21 -0
- fdc_shared_kernel-0.0.46/shared_kernel/status_tracker/__init__.py +1 -0
- fdc_shared_kernel-0.0.46/shared_kernel/status_tracker/status_tracker.py +89 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/README.md +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/README_pypi.md +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/fdc_shared_kernel.egg-info/dependency_links.txt +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/fdc_shared_kernel.egg-info/requires.txt +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/fdc_shared_kernel.egg-info/top_level.txt +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/requirements.txt +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/setup.cfg +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/async_task_executor/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/async_task_executor/async_task_executor.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/auth/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/auth/jwt_helper.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/auth/token_handler.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/config/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/database/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/enums/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/enums/async_task_status.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/configuration_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/data_validation_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/http_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/infrastructure_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/operational_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/security_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/http/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/http/httpx_http_client.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/http/request_http_client.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/interfaces/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/interfaces/databus.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/interfaces/http.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/interfaces/keyvault.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/messaging/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/messaging/aws_databus.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/messaging/http_databus.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/messaging/nats_databus.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/metrics/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/metrics/status_tracker.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/models/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/security/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/security/key_vault/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/security/key_vault/aws_secret_manager.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/security/key_vault/azure_keyvault.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/config/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/config/test_config.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/logger/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/logger/test_logger.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/messaging/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/messaging/test_nats_interface.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/utils/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/utils/test_data_validators.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/utils/test_date_format_utils.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/utils/test_string_utils.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/utils/__init__.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/utils/data_validators_utils.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/utils/date_format_utils.py +0 -0
- {fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/utils/string_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fdc_shared_kernel
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.46
|
|
4
4
|
Summary: Shared library for microservice
|
|
5
5
|
Author-email: Shikhil S <shikhil.s@dbizsolution.com>, Ahammed Akdham N <ahammedakdham.n@dbizsolution.com>
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fdc_shared_kernel
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.46
|
|
4
4
|
Summary: Shared library for microservice
|
|
5
5
|
Author-email: Shikhil S <shikhil.s@dbizsolution.com>, Ahammed Akdham N <ahammedakdham.n@dbizsolution.com>
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/fdc_shared_kernel.egg-info/SOURCES.txt
RENAMED
|
@@ -40,10 +40,14 @@ shared_kernel/messaging/nats_databus.py
|
|
|
40
40
|
shared_kernel/metrics/__init__.py
|
|
41
41
|
shared_kernel/metrics/status_tracker.py
|
|
42
42
|
shared_kernel/models/__init__.py
|
|
43
|
+
shared_kernel/registries/__init__.py
|
|
44
|
+
shared_kernel/registries/service_event_registry.py
|
|
43
45
|
shared_kernel/security/__init__.py
|
|
44
46
|
shared_kernel/security/key_vault/__init__.py
|
|
45
47
|
shared_kernel/security/key_vault/aws_secret_manager.py
|
|
46
48
|
shared_kernel/security/key_vault/azure_keyvault.py
|
|
49
|
+
shared_kernel/status_tracker/__init__.py
|
|
50
|
+
shared_kernel/status_tracker/status_tracker.py
|
|
47
51
|
shared_kernel/tests/__init__.py
|
|
48
52
|
shared_kernel/tests/config/__init__.py
|
|
49
53
|
shared_kernel/tests/config/test_config.py
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/custom_exceptions.py
RENAMED
|
@@ -12,3 +12,9 @@ class UnsupportedProfiling(BaseCustomException):
|
|
|
12
12
|
"""Raised when an unsupported data profiling method is requested."""
|
|
13
13
|
def __init__(self, message: str = "The profiling method is not supported.", details: str = "") -> None:
|
|
14
14
|
super().__init__(message=message, details=details)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class StatusTrackerException(BaseCustomException):
|
|
18
|
+
"""Raised when an error occurs during status tracker operations."""
|
|
19
|
+
def __init__(self, message: str = "An error occurred during status tracking.") -> None:
|
|
20
|
+
super().__init__(message=message)
|
|
@@ -45,6 +45,7 @@ class Logger:
|
|
|
45
45
|
|
|
46
46
|
self.logger = logging.getLogger(name if name else __name__)
|
|
47
47
|
self.logger.setLevel(logging.DEBUG)
|
|
48
|
+
self.logger.propagate = False
|
|
48
49
|
self.formatter = logging.Formatter(
|
|
49
50
|
"%(asctime)s - %(name)s - %(filename)s - %(module)s - %(levelname)s - %(message)s"
|
|
50
51
|
)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from shared_kernel.registries.service_event_registry import ServiceEventRegistry # noqa
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from shared_kernel.config import Config
|
|
2
|
+
|
|
3
|
+
config = Config()
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ServiceEventRegistry:
|
|
7
|
+
# Sync events to master service to create/update status tracker
|
|
8
|
+
CREATE_TASK = (
|
|
9
|
+
config.get("MASTER_SERVICE_BASE_ENDPOINT")
|
|
10
|
+
+ "/event/subscribe-sync-event/CREATE_TASK/"
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
UPDATE_TASK = (
|
|
14
|
+
config.get("MASTER_SERVICE_BASE_ENDPOINT")
|
|
15
|
+
+ "/event/subscribe-sync-event/UPDATE_TASK/"
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
MARK_TASK_AS_FAILURE = (
|
|
19
|
+
config.get("MASTER_SERVICE_BASE_ENDPOINT")
|
|
20
|
+
+ "/event/subscribe-sync-event/MARK_TASK_AS_FAILURE/"
|
|
21
|
+
)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from shared_kernel.status_tracker.status_tracker import StatusTracker # noqa
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
from shared_kernel.exceptions.custom_exceptions import StatusTrackerException
|
|
2
|
+
from shared_kernel.interfaces.databus import DataBus
|
|
3
|
+
from shared_kernel.messaging import DataBusFactory
|
|
4
|
+
from shared_kernel.registries.service_event_registry import ServiceEventRegistry
|
|
5
|
+
|
|
6
|
+
service_event_registry = ServiceEventRegistry()
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class StatusTracker:
|
|
10
|
+
"""
|
|
11
|
+
A singleton StatusTracker class that ensures only one StatusTracker instance is created.
|
|
12
|
+
|
|
13
|
+
Attributes:
|
|
14
|
+
_instance (Optional[StatusTracker]): The single instance of the StatusTracker.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
_instance = None
|
|
18
|
+
|
|
19
|
+
def __new__(cls, name=None):
|
|
20
|
+
"""
|
|
21
|
+
override __new__ to ensure singleton pattern.
|
|
22
|
+
"""
|
|
23
|
+
if cls._instance is None:
|
|
24
|
+
cls._instance = super(StatusTracker, cls).__new__(cls)
|
|
25
|
+
cls._instance._initialize(name=name)
|
|
26
|
+
return cls._instance
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def _initialize(self):
|
|
30
|
+
self.databus: DataBus = DataBusFactory.create_data_bus(
|
|
31
|
+
bus_type="HTTP", config={}
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def create_task(self, span_id, trace_id, entity_id, task, status):
|
|
36
|
+
"""Publishes a synchronous event to create a task"""
|
|
37
|
+
try:
|
|
38
|
+
payload = {
|
|
39
|
+
"span_id": span_id,
|
|
40
|
+
"trace_id": trace_id,
|
|
41
|
+
"entity_id": entity_id,
|
|
42
|
+
"task": task,
|
|
43
|
+
"status": status,
|
|
44
|
+
}
|
|
45
|
+
response = self.databus.request_event(
|
|
46
|
+
getattr(service_event_registry, "CREATE_TASK"), payload
|
|
47
|
+
)
|
|
48
|
+
return response
|
|
49
|
+
|
|
50
|
+
except Exception as e:
|
|
51
|
+
raise StatusTrackerException(e)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def update_task(self, span_id, trace_id, entity_id, task, status):
|
|
55
|
+
"""Publishes a synchronous event to update a task"""
|
|
56
|
+
try:
|
|
57
|
+
payload = {
|
|
58
|
+
"span_id": span_id,
|
|
59
|
+
"trace_id": trace_id,
|
|
60
|
+
"entity_id": entity_id,
|
|
61
|
+
"task": task,
|
|
62
|
+
"status": status,
|
|
63
|
+
}
|
|
64
|
+
response = self.databus.request_event(
|
|
65
|
+
getattr(service_event_registry, "UPDATE_TASK"), payload
|
|
66
|
+
)
|
|
67
|
+
return response
|
|
68
|
+
|
|
69
|
+
except Exception as e:
|
|
70
|
+
raise StatusTrackerException(e)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def mark_task_as_failure(self, span_id, trace_id, entity_id, task, failure_reason):
|
|
74
|
+
"""Publishes a synchronous event to mark a task as failure"""
|
|
75
|
+
try:
|
|
76
|
+
payload = {
|
|
77
|
+
"span_id": span_id,
|
|
78
|
+
"trace_id": trace_id,
|
|
79
|
+
"entity_id": entity_id,
|
|
80
|
+
"task": task,
|
|
81
|
+
"failure_reason": failure_reason,
|
|
82
|
+
}
|
|
83
|
+
response = self.databus.request_event(
|
|
84
|
+
getattr(service_event_registry, "MARK_TASK_AS_FAILURE"), payload
|
|
85
|
+
)
|
|
86
|
+
return response
|
|
87
|
+
|
|
88
|
+
except Exception as e:
|
|
89
|
+
raise StatusTrackerException(e)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/fdc_shared_kernel.egg-info/requires.txt
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/fdc_shared_kernel.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/async_task_executor/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/enums/async_task_status.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/exceptions/http_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/http/httpx_http_client.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/http/request_http_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/messaging/aws_databus.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/messaging/http_databus.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/messaging/nats_databus.py
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/metrics/status_tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/security/key_vault/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/config/__init__.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/config/test_config.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/logger/__init__.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/logger/test_logger.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/messaging/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/tests/utils/test_string_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/utils/data_validators_utils.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.45 → fdc_shared_kernel-0.0.46}/shared_kernel/utils/date_format_utils.py
RENAMED
|
File without changes
|
|
File without changes
|