[英]How to check the Azure Service Bus queue is empty?
我在我的應用程序中使用 azure 服務總線隊列,這里我的問題是,有沒有辦法檢查消息隊列是否為空,以便我可以關閉容器和 vms 以節省成本。 如果有辦法讓我知道,最好是在 python 中。
謝謝
為此,您可以使用Azure Service Bus Python SDK
。 您需要做的是使用get_queue
方法獲取隊列的屬性,該方法將返回Queue
類型的對象。 此對象通過message_count
屬性公開消息總數。 請注意,此計數將包括活動消息、死信隊列消息等的計數。
這是一個示例代碼:
from azure.servicebus import ServiceBusService, Message, Queue
bus_service = ServiceBusService(
service_namespace='namespacename',
shared_access_key_name='RootManageSharedAccessKey',
shared_access_key_value='accesskey')
queue = bus_service.get_queue('taskqueue1')
print queue.message_count
GitHub 上提供了適用於 Python 的 Azure 服務總線 SDK 的源代碼: https ://github.com/Azure/azure-sdk-for-python/tree/master/azure-servicebus/azure/servicebus。
您可以檢查從類azure.servicebus.ServiceBusReceiver
上的peek_messages方法返回的消息的長度
with servicebus_receiver:
messages = servicebus_receiver.peek_messages(max_message_count=1)
if len(messages) == 0:
print('Queue empty')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.