Google App Engine 应用程序 - klein micro web 框架出现 502 错误网关错误

Google App Engine Application - 502 bad gateway error with klein micro web framework

我开发了一个python基于scrapy的webcrawler应用并打包为klein应用(klein framework)

当我在本地测试它时,一切都按预期工作,但是当我将它部署到 google 应用引擎时,我得到一个“502 错误网关”。我发现了 502 错误的其他提及,但与我正在使用的 klein 框架无关。所以我只是想知道 App Engine 是否可能与它不兼容。

这是我的文件夹结构

    app
    --app.yaml
    --main.py
    --requirements.txt

app.yaml的内容

    runtime: python37
    
    instance_class: F2
    
    handlers:
    - url: /.*
      secure: always
      redirect_http_response_code: 301
      script: auto

main.py

的内容

    from klein import route, run
    
    @route("/")
    def landing_page(request):
        return "HELLO"
    
    if __name__== "__main__":
        run(host='127.0.0.1', port=8080)

App Engine 要求您的 main.py 文件声明一个 app 变量,该变量对应于 WSGI Application.

由于 Klein 是一个异步 Web 框架,it is not compatible with WSGI(同步)。

您最好的选择是使用像 Cloud Run 这样的服务,它允许您定义自己的运行时并使用与 Klein 兼容的异步 HTTP 服务器。