如何在Microsoft Azure中托管机器人?

时间:2019-06-13 10:42:38

标签: python azure

免责声明:不是Microsoft Bot Framework机器人。

我想在Microsoft Azure中托管Python机器人。它的工作原理如下:

while True:
    handle_events(poll_server())

因此,我基本上想运行Python脚本以使其永远运行。

我已经开始使用Python Webapp示例(通过az webapp up创建)。它会运行gunicorn并搜索Flask之类的东西,这与我无关。我已经将启动命令配置为python .../main.py,虽然可以,但是每5分钟重新启动一次(我猜是因为我的应用程序不响应HTTP请求)。

我认为应该有其他类型的Azure资源/容器,该资源/容器允许运行自己的服务,但我找不到任何资源。是否有类似于az webapp up的东西,或者我应该创建一个空的VM /容器并在那里手动部署应用程序?

1 个答案:

答案 0 :(得分:0)

您注意到,由于该应用程序未响应Web请求,因此该应用程序会定期旋转并必须重新启动。这是Azure App Services的默认行为,但是有两种方法可以使App Service正常运行。

  1. 如果您使用的是标准应用服务计划或更高版本,请进入应用设置并启用“始终在线”。通过定期发送请求,可以防止应用程序崩溃。这是执行此操作的首选方法。
  2. 每隔几分钟就通过HTTP请求对App Service进行一些处理(有很多实现此选项的方法)来自己实现Always On功能。

enter image description here