gpt4 book ai didi

python - 监听来自 python 的 Azure 队列消息以进行 Web 作业

转载 作者:行者123 更新时间:2023-12-03 05:54:39 24 4
gpt4 key购买 nike

我正在尝试从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 的监听函数

最佳答案

请关注tutorial对于Python中的Azure队列存储,您的代码步骤如下。

  1. 获取队列长度来判断处理或者稍等片刻
  2. 如果队列长度大于 0,则将消息出队或只是查看要处理的消息。

这是代码。

# 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之外,您可以考虑使用Azure Function Apps与Python中的队列存储触发器,如下所示,请引用此tutorial .

enter image description here

希望有帮助。

关于python - 监听来自 python 的 Azure 队列消息以进行 Web 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43494793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com