Procfile gunicorn自定义模块名称(Procfile gunicorn custom

2019-09-17 08:43发布

背景:我写一个中等大小的瓶应用(10-15意见),并在这个过程中,我希望能在组织方式的代码,这将使它易于维护,可扩展的(不是铁板文件作为最瓶应用)。

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

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

问题:我无法得到工头用未命名的“应用”的烧瓶中的应用工作。 我很想有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)

因此,我认为我可以简单地替代runapp在Procfile,但在执行的时候foreman start ,gunicorn失败,有关模块的无意义的废话。

Answer 1:

我找到了解决办法Django的文档 。 gunicorn的主要参数是模块:

gunicorn [OPTIONS] APP_MODULE

APP_MODULE是模式的MODULE_NAME:VARIABLE_NAME

虽然它似乎合乎逻辑的语法是关键字参数应用:someIdentifier,因为所有的教程使用一个模块命名的app ,它实际上不是这样的。 我的情况正确的论点是run:app



文章来源: Procfile gunicorn custom module name