私はpython3 + falconの組み合わせを使ってAPIを書いています。
メソッドにはクライアントに返信できる場所がたくさんありますが、DB や I/O 操作などを行う重いコードがあるため、重い部分が終了するまで待たなければなりません。
例えば:
class APIHandler:
def on_get(self, req, resp):
response = "Hello"
#Some heavy code
resp.body(response)
コードの最初の行で「Hello」を送信できました。私が望むのは、重いコードをバックグラウンドで実行し、重い部分がいつ終了するかに関係なく応答を送信することです。
Falconには組み込みの非同期機能はありませんが、geventなどで使用できると述べています。これら2つを組み合わせる方法に関するドキュメントは見つかりませんでした。