Quart のデプロイ#
Quart を( run() を介して)直接実行(本番環境)することは推奨されません。その代わりに、Quart を Hypercorn または代替の ASGI サーバーを使用して実行することを推奨します。これは、 run() が開発には役立つ機能をイネーブルにするものの、本番環境のパフォーマンスが低下してしまうからです。Hypercorn は Quart とともにインストールされ、デフォルトで開発モードでリクエストを処理するために使用されます(例:run())。
Quart を ASGI サーバーで使用するには、サーバーを Quart アプリケーションにポイントするだけです。たとえば、
example.py#
from quart import Quart
app = Quart(__name__)
@app.route('/')
async def hello():
return 'Hello World'
Hypercorn を使用して実行できます。
hypercorn example:app
Hypercorn のドキュメント を参照してください。
代替 ASGI サーバー#
サーバーレスデプロイ#
AWS Lambda と API Gateway の設定で Quart をデプロイするには、特殊な ASGI 関数アダプターを使用する必要があります。 Mangum はそのための推奨機能で、例としては次のようになります。
from mangum import Mangum
from quart import Quart
app = Quart(__name__)
@app.route("/")
async def index():
return "Hello, world!"
handler = Mangum(app) # optionally set debug=True