我正在尝试让我的sanic get应用程序与uwsgi一起工作,下面是我所做的:
调用我的uwsgi.ini文件:
uwsgi uwsgi.ini内容:
[uwsgi]
http = :8001
wsgi-file = wsgi.py
asyncio = 10wsgi.py:
from app import app as application
if __name__ == "__main__":
application.run()app.py:
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"})当我请求它时,我得到:
TypeError: __call__() takes 1 positional argument but 3 were given我检查了uwsgi和Sanic文档,但能找到任何hint...could,有人能帮我解决这个问题吗?感谢和问候!
发布于 2018-03-14 05:48:08
就我记忆所及,sanic还不是WSGI兼容Make sanic WSGI compliant. #250。
不过,您可以使用gunicorn来运行它,例如:
gunicorn myapp:app --bind 0.0.0.0:8080 --worker-class sanic.worker.GunicornWorker您还可以增加sanic worker计数以在多个CPU核心上运行:
app.run(host='0.0.0.0', port=1337, workers=4)遵循以下指南:Deploying
https://stackoverflow.com/questions/46635080
复制相似问题