Running all microservices
So far, we have run our Quart
applications using the built-in Quart wrapper, or using the run()
function. This works well for development, as the app can detect changes to its source code and reload itself, saving time when making changes. However, there are limitations to this, not least of which is that this is running the server in a development mode, with extra diagnostics turned on that slow down the server's operation.
Instead, we should run our applications using Hypercorn
(https://pgjones.gitlab.io/hypercorn/), an ASGI web server that allows Quart
to run to its full potential, supporting HTTP/2
, HTTP/3
, as well as WebSocket
. It's already installed alongside Quart and is very straightforward to use. For our dataservice application, we would run:
$ hypercorn dataservice:app
Hypercorn is the latest in a mine of WSGI and ASGI servers that aim to serve web applications, and if you are searching the Flask documentation when looking...