fdc-shared-kernel 0.0.43__tar.gz → 0.0.45__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.43 → fdc_shared_kernel-0.0.45}/PKG-INFO +1 -1
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/fdc_shared_kernel.egg-info/PKG-INFO +1 -1
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/pyproject.toml +1 -1
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/logger/__init__.py +4 -4
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/messaging/nats_databus.py +18 -25
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/README.md +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/README_pypi.md +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/fdc_shared_kernel.egg-info/SOURCES.txt +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/fdc_shared_kernel.egg-info/dependency_links.txt +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/fdc_shared_kernel.egg-info/requires.txt +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/fdc_shared_kernel.egg-info/top_level.txt +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/requirements.txt +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/setup.cfg +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/async_task_executor/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/async_task_executor/async_task_executor.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/auth/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/auth/jwt_helper.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/auth/token_handler.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/config/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/database/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/enums/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/enums/async_task_status.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/exceptions/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/exceptions/configuration_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/exceptions/custom_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/exceptions/data_validation_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/exceptions/http_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/exceptions/infrastructure_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/exceptions/operational_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/exceptions/security_exceptions.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/http/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/http/httpx_http_client.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/http/request_http_client.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/interfaces/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/interfaces/databus.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/interfaces/http.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/interfaces/keyvault.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/messaging/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/messaging/aws_databus.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/messaging/http_databus.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/metrics/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/metrics/status_tracker.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/models/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/security/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/security/key_vault/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/security/key_vault/aws_secret_manager.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/security/key_vault/azure_keyvault.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/config/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/config/test_config.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/logger/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/logger/test_logger.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/messaging/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/messaging/test_nats_interface.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/utils/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/utils/test_data_validators.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/utils/test_date_format_utils.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/utils/test_string_utils.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/utils/__init__.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/utils/data_validators_utils.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/utils/date_format_utils.py +0 -0
- {fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/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.45
|
|
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.45
|
|
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
|
|
@@ -96,16 +96,16 @@ class Logger:
|
|
|
96
96
|
|
|
97
97
|
def info(self, message, *args, **kwargs):
|
|
98
98
|
extra_data = {"extra_data": kwargs}
|
|
99
|
-
self.logger.info(message, *args, extra=extra_data)
|
|
99
|
+
self.logger.info(message, *args, extra=extra_data, stacklevel=2)
|
|
100
100
|
|
|
101
101
|
def error(self, message, *args, **kwargs):
|
|
102
102
|
extra_data = {"extra_data": kwargs}
|
|
103
|
-
self.logger.error(message, exc_info=True, *args, extra=extra_data)
|
|
103
|
+
self.logger.error(message, exc_info=True, *args, extra=extra_data, stacklevel=2)
|
|
104
104
|
|
|
105
105
|
def debug(self, message, *args, **kwargs):
|
|
106
106
|
extra_data = {"extra_data": kwargs}
|
|
107
|
-
self.logger.debug(message, *args, extra=extra_data)
|
|
107
|
+
self.logger.debug(message, *args, extra=extra_data, stacklevel=2)
|
|
108
108
|
|
|
109
109
|
def warning(self, message, *args, **kwargs):
|
|
110
110
|
extra_data = {"extra_data": kwargs}
|
|
111
|
-
self.logger.warning(message, *args, extra=extra_data)
|
|
111
|
+
self.logger.warning(message, *args, extra=extra_data, stacklevel=2)
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/messaging/nats_databus.py
RENAMED
|
@@ -23,13 +23,6 @@ class NATSDataBus(DataBus):
|
|
|
23
23
|
A NATS interface class to handle both standard NATS and JetStream operations.
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
|
-
_instance = None
|
|
27
|
-
|
|
28
|
-
def __new__(cls, *args, **kwargs):
|
|
29
|
-
if cls._instance is None:
|
|
30
|
-
cls._instance = super(NATSDataBus, cls).__new__(cls)
|
|
31
|
-
return cls._instance
|
|
32
|
-
|
|
33
26
|
def __init__(self, config: Dict = None):
|
|
34
27
|
"""
|
|
35
28
|
Initialize the NATSDataBus.
|
|
@@ -37,16 +30,14 @@ class NATSDataBus(DataBus):
|
|
|
37
30
|
Args:
|
|
38
31
|
config (Dict): A dictionary containing the NATS configuration.
|
|
39
32
|
"""
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
self.initialized = True
|
|
49
|
-
self.max_delivery_count = app_config.get("MAX_DELIVERY_COUNT")
|
|
33
|
+
super().__init__()
|
|
34
|
+
self.nats_client = NATS()
|
|
35
|
+
self.servers = config.get("servers")
|
|
36
|
+
self.user = config.get("user")
|
|
37
|
+
self.password = config.get("password")
|
|
38
|
+
self.connected = False
|
|
39
|
+
self.nats_jet_stream_context = None # JetStream context
|
|
40
|
+
self.max_delivery_count = app_config.get("MAX_DELIVERY_COUNT")
|
|
50
41
|
|
|
51
42
|
async def _connection_error_callback(self, e: Exception) -> None:
|
|
52
43
|
"""
|
|
@@ -74,6 +65,7 @@ class NATSDataBus(DataBus):
|
|
|
74
65
|
ack_policy=AckPolicy.EXPLICIT,
|
|
75
66
|
deliver_policy=DeliverPolicy.ALL,
|
|
76
67
|
filter_subject=subject,
|
|
68
|
+
ack_wait=3600,
|
|
77
69
|
max_ack_pending=5,
|
|
78
70
|
)
|
|
79
71
|
await self.nats_jet_stream_context.add_consumer(
|
|
@@ -200,7 +192,7 @@ class NATSDataBus(DataBus):
|
|
|
200
192
|
"""
|
|
201
193
|
Connect to the NATS server.
|
|
202
194
|
"""
|
|
203
|
-
if not self.
|
|
195
|
+
if not self.nats_client.is_connected:
|
|
204
196
|
await self.nats_client.connect(
|
|
205
197
|
servers=self.servers,
|
|
206
198
|
user=self.user,
|
|
@@ -296,19 +288,20 @@ class NATSDataBus(DataBus):
|
|
|
296
288
|
event_data: dict = json.loads(message_object.data.decode())
|
|
297
289
|
has_job_failed = False
|
|
298
290
|
try:
|
|
299
|
-
callback(event_data)
|
|
291
|
+
await callback(event_data)
|
|
292
|
+
# acknowledge the message after processing and finishing the job
|
|
293
|
+
await message_object.ack()
|
|
294
|
+
logger.info(f"Acknowledged job: {event_data}")
|
|
300
295
|
except Exception as e:
|
|
301
296
|
logger.error(
|
|
302
297
|
f"Invoking callback during execution of [{event_name}] failed due to {str(e)}"
|
|
303
298
|
)
|
|
304
299
|
has_job_failed = True
|
|
305
300
|
|
|
306
|
-
if
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
elif message_object.metadata.num_delivered == self.max_delivery_count:
|
|
311
|
-
# move to DLQ if max retries have been reached
|
|
301
|
+
if (
|
|
302
|
+
has_job_failed
|
|
303
|
+
and message_object.metadata.num_delivered == self.max_delivery_count
|
|
304
|
+
):
|
|
312
305
|
logger.warning("Moving event to the dead letter topic after max retries")
|
|
313
306
|
await self._create_dlq_stream()
|
|
314
307
|
await self._move_to_dlq(event_name, event_data)
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/fdc_shared_kernel.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/fdc_shared_kernel.egg-info/requires.txt
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/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.43 → fdc_shared_kernel-0.0.45}/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.43 → fdc_shared_kernel-0.0.45}/shared_kernel/enums/async_task_status.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/exceptions/custom_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/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.43 → fdc_shared_kernel-0.0.45}/shared_kernel/http/httpx_http_client.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/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.43 → fdc_shared_kernel-0.0.45}/shared_kernel/messaging/aws_databus.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/messaging/http_databus.py
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/metrics/status_tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/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.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/config/__init__.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/config/test_config.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/logger/__init__.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/logger/test_logger.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/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.43 → fdc_shared_kernel-0.0.45}/shared_kernel/tests/utils/test_string_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/utils/data_validators_utils.py
RENAMED
|
File without changes
|
{fdc_shared_kernel-0.0.43 → fdc_shared_kernel-0.0.45}/shared_kernel/utils/date_format_utils.py
RENAMED
|
File without changes
|
|
File without changes
|