簡體   English   中英

Python 3.6 Web Sanic + uwsgi

[英]Python 3.6 web Sanic + uwsgi

我正在嘗試讓我的sanic webapp與uwsgi一起使用,這是我的工作:

調用我的uwsgi.ini文件:

uwsgi uwsgi.ini

內容:

[uwsgi]
http = :8001
wsgi-file = wsgi.py
asyncio  = 10

wsgi.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文檔,但可以找到任何提示...有人可以幫助我解決這個問題嗎? 謝謝和問候!

據我所知,sanic不符合WSGI,但仍使sanic符合WSGI。 #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)

請遵循本指南: 部署

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM