我使用应用工厂模式编写了一个烧瓶应用程序。这意味着它在导入时不会自动创建应用实例。你必须为此调用create_app。现在我如何在gunicorn中运行它?
答案 0 :(得分:59)
使用以下内容在项目下创建一个文件wsgi.py
,然后指向Gunicorn。
from my_project import create_app
app = create_app()
gunicorn -w 4 my_project.wsgi:app
# -w 4 specifies four worker processes
Gunicorn允许指定像my_project:create_app()
这样的函数调用。在大多数情况下,您可以跳过制作wsgi.py
文件并告诉Gunicorn如何直接创建您的应用。
gunicorn -w 4 my_project:create_app()
请注意,您可能必须将名称放在某些shell的引号中。
gunicorn -w 4 "my_project:create_app()"
答案 1 :(得分:4)
你需要在wsgi.py中使用特定的工厂配置create_app(),就像manage.py或runserver.py一样。请参阅以下代码:
<?php
$i = 1;
foreach ($view as $row)
{
echo "<tr>";
echo "<td>".$i."</td>";
echo "<td><a href='" . base_url('admin/play' . $row->audio) . "'>" . $row=>audio . "</a><td>";
$i++;
echo "</tr>";
}
然后,您可以运行命令from your_app import create_app
app = create_app(os.getenv('FLASK_CONFIG') or 'dev')
if __name__ == "__main__":
app.run()
来运行您的应用程序。