Skip to content

Commit eb75adb

Browse files
committed
refactor the queue class
1 parent f407b57 commit eb75adb

File tree

2 files changed

+17
-22
lines changed

2 files changed

+17
-22
lines changed

manage_breast_screening/notifications/management/commands/save_message_status.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
Message,
1414
MessageStatus,
1515
)
16+
from manage_breast_screening.notifications.services.metrics import Metrics
1617
from manage_breast_screening.notifications.services.queue import Queue
1718

1819
INSIGHTS_ERROR_NAME = "SaveMessageStatusError"
@@ -41,6 +42,9 @@ def handle(self, *args, **options):
4142
if self.save_status_update():
4243
logger.info(f"Message status update {item} saved")
4344

45+
self.metrics = Metrics(queue.queue_name, "messages", "Queue length")
46+
self.metrics.add(queue.get_message_count())
47+
4448
def save_status_update(self) -> bool:
4549
try:
4650
if self.data["type"] == "ChannelStatus":

manage_breast_screening/notifications/services/queue.py

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
from azure.identity import ManagedIdentityCredential
66
from azure.storage.queue import QueueClient, QueueMessage
77

8-
from manage_breast_screening.notifications.services.metrics import Metrics
9-
108
logger = logging.getLogger(__name__)
119

1210

@@ -33,21 +31,21 @@ def __init__(self, queue_name):
3331
except ResourceExistsError:
3432
pass
3533

36-
logger.info(f"storage_account_name: {storage_account_name}")
37-
logger.info(f"queue_mi_client_id: {queue_mi_client_id}")
38-
logger.info(f"connection_string: {connection_string}")
39-
logger.info(f"self.queue_name: {self.queue_name}")
34+
# logger.info(
35+
# f"APPLICATIONINSIGHTS_CONNECTION_STRING: {os.getenv('APPLICATIONINSIGHTS_CONNECTION_STRING')}"
36+
# )
37+
# logger.info(f"storage_account_name: {storage_account_name}")
38+
# logger.info(f"queue_mi_client_id: {queue_mi_client_id}")
39+
# logger.info(f"connection_string: {connection_string}")
40+
# logger.info(f"self.queue_name: {self.queue_name}")
4041

41-
self.metrics = Metrics(queue_name, "messages", "Queue length")
42-
self.recordMetrics()
42+
# self.metrics = Metrics(queue_name, "messages", "Queue length")
4343

4444
def add(self, message: str):
4545
self.client.send_message(message)
46-
self.recordMetrics()
4746

4847
def delete(self, message: str | QueueMessage):
4948
self.client.delete_message(message)
50-
self.recordMetrics()
5149

5250
def items(self, limit=50):
5351
return self.client.receive_messages(max_messages=limit)
@@ -58,19 +56,12 @@ def peek(self):
5856
def item(self):
5957
return self.client.receive_message()
6058

61-
def recordMetrics(self):
62-
try:
63-
properties = self.client.get_queue_properties()
64-
message_count = properties.approximate_message_count
65-
66-
logger.info(f"recordMetrics : {message_count}")
67-
68-
except Exception as e:
69-
logger.exception(e)
70-
message_count = None
71-
return
59+
def get_message_count(self):
60+
properties = self.client.get_queue_properties()
61+
message_count = properties.approximate_message_count
62+
logger.debug(f"get_message_count: {message_count}")
7263

73-
self.metrics.add(message_count)
64+
return message_count
7465

7566
@classmethod
7667
def MessageStatusUpdates(cls):

0 commit comments

Comments
 (0)