Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Azure应用程序服务环境中执行长时间运行的python服务总线轮询作业_Python_Python 3.x_Azureservicebus_Azure Web App Service_Polling - Fatal编程技术网

如何在Azure应用程序服务环境中执行长时间运行的python服务总线轮询作业

如何在Azure应用程序服务环境中执行长时间运行的python服务总线轮询作业,python,python-3.x,azureservicebus,azure-web-app-service,polling,Python,Python 3.x,Azureservicebus,Azure Web App Service,Polling,我对Azure云非常陌生,正在Azure python 3.8应用程序服务中进行python后端应用程序部署。 它是一个独立的应用程序,有一个无限循环来轮询来自Azure服务总线队列的消息,并相应地执行一些操作。 请注意,此应用程序不在任何常见的web框架(如Flask和Django)上运行 问题是,应用程序服务在部署到azure云后不断重新启动。应用程序的根文件夹中已存在application.py文件 下面是application.py代码结构: import os import time

我对Azure云非常陌生,正在Azure python 3.8应用程序服务中进行python后端应用程序部署。 它是一个独立的应用程序,有一个无限循环来轮询来自Azure服务总线队列的消息,并相应地执行一些操作。 请注意,此应用程序不在任何常见的web框架(如Flask和Django)上运行

问题是,应用程序服务在部署到azure云后不断重新启动。应用程序的根文件夹中已存在application.py文件

下面是application.py代码结构:

import os
import time
from flask import Flask
app = Flask(__name__)


def poll_asb_queue():
while True:
    print('I am still polling’)
    # Poll queue logic here
    # Do logic based on the message payload
    time.sleep(5)

### Flow starts here ###
try:
    poll_asb_queue()

except Exception as error:
print('ERROR', str(error))
用具有hello world端点的基于flask的部署替换此轮询逻辑似乎可以正常工作


请帮助我了解哪里出了问题,以及如何在azure app service中运行长期运行的独立python应用程序

如果您希望监视服务总线上的消息,则不需要长时间的轮询web作业。您可以使用Azure函数,该函数使用http触发器在新消息到达时调用。看

这将更有效率,因为您可以放弃将webjob设置为Continuous所需的应用程序服务,这很可能是由导致您出现问题的原因决定的