diff --git a/docs/deploying/asgi.rst b/docs/deploying/asgi.rst new file mode 100644 index 00000000..6e70fee7 --- /dev/null +++ b/docs/deploying/asgi.rst @@ -0,0 +1,27 @@ +ASGI +==== + +If you'd like to use an ASGI server you will need to utilise WSGI to +ASGI middleware. The asgiref +[WsgiToAsgi](https://github.com/django/asgiref#wsgi-to-asgi-adapter) +adapter is recommended as it integrates with the event loop used for +Flask's :ref:`async_await` support. You can use the adapter by +wrapping the Flask app, + +.. code-block:: python + + from asgiref.wsgi import WsgiToAsgi + from flask import Flask + + app = Flask(__name__) + + ... + + asgi_app = WsgiToAsgi(app) + +and then serving the ``asgi_app`` with the asgi server, e.g. using +`Hypercorn `_, + +.. sourcecode:: text + + $ hypercorn module:asgi_app diff --git a/docs/deploying/index.rst b/docs/deploying/index.rst index 54380599..4511bf45 100644 --- a/docs/deploying/index.rst +++ b/docs/deploying/index.rst @@ -31,3 +31,4 @@ Self-hosted options mod_wsgi fastcgi cgi + asgi