首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 3.6 web Sanic + uwsgi

Python 3.6 web Sanic + uwsgi
EN

Stack Overflow用户
提问于 2017-10-09 03:16:07
回答 1查看 1.6K关注 0票数 0

我正在尝试让我的sanic get应用程序与uwsgi一起工作,下面是我所做的:

调用我的uwsgi.ini文件:

代码语言:javascript
复制
uwsgi uwsgi.ini

内容:

代码语言:javascript
复制
[uwsgi]
http = :8001
wsgi-file = wsgi.py
asyncio  = 10

wsgi.py:

代码语言:javascript
复制
from app import app as application

if __name__ == "__main__":
    application.run()

app.py:

代码语言:javascript
复制
import asyncio
import uvloop

asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())

from sanic import Sanic
from sanic.response import json

app = Sanic(__name__)

@app.route("/")
async def test(request):
    return json({"foo": "bar"})

当我请求它时,我得到:

代码语言:javascript
复制
TypeError: __call__() takes 1 positional argument but 3 were given

我检查了uwsgi和Sanic文档,但能找到任何hint...could,有人能帮我解决这个问题吗?感谢和问候!

EN

回答 1

Stack Overflow用户

发布于 2018-03-14 05:48:08

就我记忆所及,sanic还不是WSGI兼容Make sanic WSGI compliant. #250

不过,您可以使用gunicorn来运行它,例如:

代码语言:javascript
复制
gunicorn myapp:app --bind 0.0.0.0:8080 --worker-class sanic.worker.GunicornWorker

您还可以增加sanic worker计数以在多个CPU核心上运行:

代码语言:javascript
复制
app.run(host='0.0.0.0', port=1337, workers=4)

遵循以下指南:Deploying

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46635080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档