質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

受付中

Flaskのdef関数内でreturn後に別の処理を実行させることはできますか?

fujimaruuuun
fujimaruuuun

総合スコア17

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

2回答

0評価

0クリップ

87閲覧

投稿2022/08/05 03:50

編集2022/08/09 16:17

前提

ReactとFlaskでサイトを制作しています
Reactから登録したいキーワードをFlaskへ送り、テーブル登録とは別に、重たい処理が実行されます。返却値がFlaskから返ってくるまで、画面ではローディングを出しています。

この”重たい処理”が2,3分ほどかかるとき、その間ローディング画面で待たせるのはおかしいと思うのですが、このような時どういう実装をしたらいいのでしょうか。

自分で想像している実装方法はこの3つです。

Flaskのdef関数内で、一度テーブル登録された段階でフロントにreturnを返した後、重たい処理を継続させる。
(returnは終了の合図のようなものだとおもっているのでそもそもreturnした後になにか別の関数を実行させることはできるのかな?とは思いつつ、デコレータとかを使ってどうにかできないのかなと)


Reactから、登録のリクエストと重たい処理へのリクエストを別で投げる
今は一度に登録と重たい処理をやってしまおうとしているので2回リクエストを投げて登録完了の合図だけをReact側に知らせる


React側でFlaskからの返却値を待たずに、あたかも登録できましたという画面にする。
(Flaskでエラーでたときなにもわからないので少し心配)

大変初歩的な質問かと思いますがお力添えのほどよろしくお願いします。。
一般的にはこう実装するよ、など教えていただきますと幸いでございます。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

hoshi-takanori

2022/08/06 08:21

バックグラウンドで動くタスクを管理して、その進捗を見れるようにするとか。 でも、その重たい処理が何のためのものか、例えば ・登録したユーザー個人のためにデータを処理して、そのユーザーだけに結果を返す ・登録されたデータに基づいてサイト全体の内容が更新される のどれかによってもやり方は変わるかも…。タスク実行中に別のデータが登録されたらどうする? とか。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。