[英]listen to azure queue message from python fro web job
我正在嘗試從python中的工作人員角色收聽azure隊列。 有沒有辦法編寫僅在收到新消息時才觸發的函數? 適用於Visual Studio的Python工具的模板代碼為:
if __name__ == '__main__':
while True:
#
# Write your worker process here.
#
# You will probably want to call a blocking function such as
# bus_service.receive_queue_message('queue name', timeout=seconds)
# to avoid consuming 100% CPU time while your worker has no work.
#
sleep(1.0)
我可以看到服務bu有一個偵聽功能,但我找不到一個隊列API
請遵循Python中Azure隊列存儲的教程 ,以及代碼的步驟,如下所示。
這是代碼。
# Step 1: Get the count of messages in a queue
metadata = queue_service.get_queue_metadata('taskqueue')
count = metadata.approximate_message_count
if count > 0:
# Step 2: Process messages
# Dequeue messages
messages = queue_service.get_messages('taskqueue')
# Or peek messages, `messages = queue_service.peek_messages('taskqueue')`
for message in messages:
print(message.content) # process message like print
queue_service.delete_message('taskqueue', message.id, message.pop_receipt)
sleep(1.0)
同時,僅建議使用另一種方法代替webjob,您可以考慮如下使用在Python中使用帶有隊列存儲觸發器的Azure Function應用程序,請參考本教程 。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.