1. はじめに 前回の記事ではFlaskのアプリケーションで同時アクセスを有効にする方法について説明しました。しかし、処理によっては同時実行数を制限しなけばならない場合があるかと思います。 リソースを消費する重たい処理 たとえば巨大な画像ファイルを生成する処理など もともと同時実行を考慮していない処理 たとえば機械学習におけるモデルの構築処理など 今回は特定の処理に対して多重実行を制御する方法について説明したいと思います。 1.1. ポイント 多重実行の制御にはQueueを利用する 多重制御の関数デコレータ@multiple_controlを作成する 制限を掛ける処理に@multiple_controlデコレータを付与する @app.route('/world/<string:value>', methods=['GET']) @multiple_control(singleQueue)