gpt4 book ai didi

heroku - Procfile gunicorn 自定义模块名称

转载 作者:行者123 更新时间:2023-12-03 15:33:44 24 4
gpt4 key购买 nike

上下文:
我正在编写一个中等大小的 Flask 应用程序(10-15 个 View ),在此过程中,我希望以一种易于维护和可扩展的方式组织代码(而不是像大多数 Flask 应用程序那样的单一文件)。

应用程序的结构模仿 documentation如下:

/AwesomeHackings
/ENV
/AwesomeHackings
/models
/static
/templates
/__init__.py
/awesome.py
/awesome.cfg
/Procfile
/README.MD
/requirements.txt
/run.py

问题:
我无法让工头使用未命名为“app”的 flask 应用程序。我希望 run.py 成为我的应用程序的入口点。

我正在使用 gunicorn + gevent,我当前的 Procfile 包含:
web: gunicorn -w 2 -b 0.0.0.0:$PORT -k gevent app:run

我一直在使用 run.py测试应用程序:
from AwesomeHackings import awesome
awesome.app.run(debug=True)

因此我假设我可以简单地替换 run对于 app在 Procfile 中,但在执行 foreman start 时,gunicorn 失败了,对模块进行了毫无意义的冗长赘述。

最佳答案

我在 Django's documentation 中找到了解决方案. gunicorn的主要参数是module:
gunicorn [OPTIONS] APP_MODULE
在哪里 APP_MODULE是模式 MODULE_NAME:VARIABLE_NAME
虽然语法是关键字参数 app:someIdentifier 似乎是合乎逻辑的,因为所有教程都使用名为 app 的模块。 ,事实上并非如此。我的情况的正确论据是run:app .

关于heroku - Procfile gunicorn 自定义模块名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10670958/

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