概要
FastAPI ではエンドポイントを作る際に同期関数 (def) と非同期関数 (async def) のどちらで書くこともできます。Python でのアプリケーション開発経験が浅い方はこの違いがわからずに最適ではない選択をしてしまうかもしれません。
このセッションでは「FastAPI の並行処理モデルを完全に理解する」をテーマに、Python の並行処理モデル・FastAPI の振る舞い・ケースごとの最適な選択と誤ったときに発生する問題・ASGI ミドルウェアの設定などについて述べます。
FastAPI は非常に便利なフレームワークですが、よくわからずに使うと思わぬ落とし穴にハマってしまうかもしれません。最高の Web アプリケーションを開発していくために、その特性をよく理解していきましょう。
大まかなアジェンダは以下の通りです。
- Python の並行処理方式の違い
- FastAPI での def と async def の動作の違い
- 同期/非同期のどちらか片方しか選択することができないケース
- その同期処理はスレッドセーフ?
- Uvicorn のワーカープロセス数とスレッド上限はどのように設定すべきか
スピーカーについて
hoto17296
ちゅらデータ株式会社 Webアプリケーションエンジニア