Flask における async と await の使用

FlaskFlaskBeginner
オンラインで実践に進む

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、人気のある Python の Web フレームワークである Flask でasyncawaitを使用するプロセスを案内します。非同期ビューとハンドラを定義する方法、非同期コードを使用する際のパフォーマンスの影響を理解し、Flask におけるバックグラウンドタスクを探ります。

注:コードファイルは自分で作成し、環境で実行する必要があります。Web 5000 で Flask サービスの状態をプレビューできます。

非同期ビューの定義

Flask では、async def構文を使用してビューを非同期関数として定義できます。これにより、ビュー関数内でawaitを使用して非同期操作を実行できるようになります。

@app.route("/get-data")
async def get_data():
    data = await async_db_query(...)
    return jsonify(data)

このコードを実行するには、Python ファイル(たとえばapp.py)に保存し、Flask 開発サーバーを使用してファイルを実行します。

flask run

まとめ

この実験では、Flask でasyncawaitを使用して非同期ビューとハンドラを定義する方法を学びました。また、非同期コードの使用に伴うパフォーマンスの影響、バックグラウンドタスク、および非同期処理が多いコードベースにおける Flask の代替としての Quart の使用についても検討しました。さらに、Flask 拡張機能と非同期ビューの互換性、および Flask で他のイベントループを使用する可能性について学びました。