1

我基于scrapy开发了一个python webcrawler应用,并打包成klein应用(klein框架

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

这是我的文件夹结构

    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)

4

1 回答 1

1

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

由于 Klein 是一个异步 Web 框架,它与 WSGI(同步)不兼容。

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

于 2020-08-05T15:15:02.140 回答