カテゴリ: Flask 更新日: 2026/01/13

Flaskで非同期処理の進捗をフロント側に通知する方法まとめ|初心者向けに超ていねい解説

Flaskで非同期処理の進捗をフロント側に通知する方法まとめ
Flaskで非同期処理の進捗をフロント側に通知する方法まとめ

先生と生徒の会話形式で理解しよう

生徒

「Flaskで時間がかかる処理をしたとき、今どこまで進んでいるか画面に表示できますか?」

先生

「できます。Flaskで非同期処理を行い、その進捗をフロント側へ通知する方法があります。」

生徒

「非同期処理って難しそうですし、パソコンもあまり触ったことがなくて不安です。」

先生

「大丈夫です。作業の進み具合を黒板に書いていくようなイメージで、順番に説明します。」

1. Flaskで非同期処理とは何かを理解しよう

1. Flaskで非同期処理とは何かを理解しよう
1. Flaskで非同期処理とは何かを理解しよう

Flaskの非同期処理とは、時間がかかる作業を裏で進めながら、 画面は止めずに動かし続ける仕組みです。

例えば、料理をしながら洗濯機を回すようなものです。 一つずつ終わるまで待たず、同時に進めます。

Flask 非同期処理、Flask バックグラウンド処理、 Flask タスク管理は初心者がよく検索するキーワードです。

2. なぜ進捗をフロント側に通知したいのか

2. なぜ進捗をフロント側に通知したいのか
2. なぜ進捗をフロント側に通知したいのか

時間のかかる処理では、画面が止まると不安になります。

「今30パーセント進みました」と表示されると、 ユーザーは安心して待つことができます。

このように、処理の進み具合を伝えることを 進捗通知と呼びます。

3. Flaskで非同期処理を簡単に始める考え方

3. Flaskで非同期処理を簡単に始める考え方
3. Flaskで非同期処理を簡単に始める考え方

Flaskでは、重たい処理を別の仕事として分けます。

ここではスレッドという仕組みを使います。 スレッドとは、同時に動く作業係のようなものです。


import threading
import time

def long_task():
    time.sleep(5)
    print("処理完了")

threading.Thread(target=long_task).start()

このコードでは、5秒かかる処理を裏で実行しています。

4. 進捗状況を数字で管理する方法

4. 進捗状況を数字で管理する方法
4. 進捗状況を数字で管理する方法

進捗を伝えるには、今どこまで進んだかを 数字で覚えておく必要があります。

ここでは、とても簡単な変数を使います。


progress = 0

def task():
    global progress
    for i in range(10):
        time.sleep(1)
        progress += 10

このように、作業が進むたびに数字を増やします。

5. Flaskで進捗を取得するAPIを作る

5. Flaskで進捗を取得するAPIを作る
5. Flaskで進捗を取得するAPIを作る

フロント側が進捗を知るには、 Flaskに「今何パーセントですか?」と聞く必要があります。


from flask import Flask, jsonify

app = Flask(__name__)

@app.route("/progress")
def get_progress():
    return jsonify({"progress": progress})

この仕組みをAPIと呼びます。 APIとは、質問すると答えを返してくれる窓口です。

6. フロント側で進捗を表示する仕組み

6. フロント側で進捗を表示する仕組み
6. フロント側で進捗を表示する仕組み

ブラウザ側では、定期的に進捗を確認します。

これは、先生に「今どこまで進みましたか?」と 何度も聞くようなイメージです。


<script>
setInterval(() => {
    fetch("/progress")
        .then(res => res.json())
        .then(data => {
            console.log(data.progress);
        });
}, 1000);
</script>

1秒ごとに進捗を取得しています。

7. Flaskと非同期処理で気をつけるポイント

7. Flaskと非同期処理で気をつけるポイント
7. Flaskと非同期処理で気をつけるポイント

非同期処理は便利ですが、 同じ変数を同時に触ると問題が起きることがあります。

初心者のうちは、簡単な仕組みで 動きを理解することが大切です。

Flask 非同期 進捗表示、 Flask タスク 進捗管理は、 学習初期によく検索されます。

8. 進捗通知の全体イメージを整理しよう

8. 進捗通知の全体イメージを整理しよう
8. 進捗通知の全体イメージを整理しよう

処理は裏で動き、進捗は数字で管理します。

フロント側は定期的に進捗を確認し、 画面に表示します。

この流れを理解すれば、 Flaskで非同期処理の進捗通知ができます。

本文テキスト文字数:約2812文字(全角の平仮名・カタカナ・漢字のみ、コード除外)

カテゴリの一覧へ
新着記事
New1
Flask
FlaskのテンプレートエンジンJinja2とは?基本の書き方と使い方を解説
New2
Python
Pythonの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
New3
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルール
New4
Flask
Flaskの開発サーバーを立ち上げる方法まとめ!run()とflaskコマンドの使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.4
Java&Spring記事人気No4
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.5
Java&Spring記事人気No5
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.6
Java&Spring記事人気No6
Python
Pythonのコメント活用術!初心者向けにTODO・FIXME・ドキュメンテーションコメントの書き方を完全解説
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説