1

Ich verwende azurblaue Service-Bus-Warteschlangen in meiner Anwendung und hier meine Frage ist, gibt es eine Möglichkeit, wie die Nachrichtenwarteschlange ist leer, so dass ich meine Container und vms herunterfahren kann, um Kosten zu sparen. Wenn es einen Weg gibt, lass es mich wissen, vorzugsweise in Python.Wie überprüfen Sie, ob die Azure Service Bus-Warteschlange leer ist?

Dank

+0

Verwenden Sie immer ein generisches [python] -Tag, verwenden Sie nur ein versionsspezifisches Tag, wenn Ihre Frage versionsspezifisch ist. Wenn Sie beide nicht anpassen können, sollten Sie immer das generische [python] -Tag verwenden, um Ihre Frage noch besser zu verstehen –

Antwort

1

Hierfür können Sie Azure Service Bus Python SDK verwenden. Was Sie tun müssten, ist, die Eigenschaften einer Queue mit der Methode get_queue zu ermitteln, die ein Objekt vom Typ Queue zurückgibt. Dieses Objekt macht die Gesamtzahl der Nachrichten über die Eigenschaft message_count verfügbar. Bitte beachten Sie, dass diese Anzahl die Anzahl der aktiven Nachrichten, Nachrichten aus der Warteschlange für nicht zustellbare Nachrichten und mehr enthält.

Hier ist ein Beispielcode zu tun:

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 

Quellcode für Azure Service Bus SDK für Python ist auf Github verfügbar: https://github.com/Azure/azure-sdk-for-python/tree/master/azure-servicebus/azure/servicebus.