回答編集履歴
3
言葉遣いなど
test
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
reloaderがTrueだとファイルの更新のたびにアプリが再起動されますよね。
|
1
|
+
use_reloaderがTrueだとファイルの更新のたびにアプリが再起動されますよね。
|
2
2
|
|
3
|
-
つまりreloader
|
3
|
+
つまりreloaderを使う場合、メインプロセスが`app.run(debug=True)`まで進んだあと、「ファイルの更新を監視して必要に応じてWebアプリを停止・再起動させる」監視役のプロセス(*)が稼働して「Webアプリのプロセス」の停止・再起動の制御を始めるはずで、そして「Webアプリを制御するプロセス」が「Webアプリのプロセス」を起動するはずです。
|
4
|
-
実際、質問にある通り、reloaderがTrueだとモジュールの初期化処理は2回実行されます。
|
4
|
+
実際、質問にある通り、use_reloaderがTrueだとモジュールの初期化処理は2回実行されます。
|
5
5
|
|
6
|
-
reloader
|
6
|
+
reloaderを使うなら、そもそも「Webアプリのプロセス」は何度も何度も再起動されます。Webアプリが再起動される時、初期化処理(=モジュールの地の文)も都度実行されるのが普通です。というより**そうでないと困ります**。それを特に不思議に思ったことはないです。
|
7
7
|
|
8
8
|
(*)この"プロセス"は厳密な意味でなくてふんわりと使っています。実体がOS用語のプロセスかもしれないし、スレッドかもしれないし、特にこだわらず"ある種のイベント待ちループを伴った処理"程度で使ってます。
|
2
些細
test
CHANGED
@@ -3,6 +3,6 @@
|
|
3
3
|
つまりreloaderがTrueの場合、メインプロセスが`app.run(debug=True)`まで進んだあと、「ファイルの更新を監視して必要に応じてWebアプリを停止・再起動させる」監視役のプロセス(*)が稼働して「Webアプリのプロセス」の死活監視を始めるはずで、そして「死活監視をするプロセス」が「Webアプリのプロセス」を起動するはずです。
|
4
4
|
実際、質問にある通り、reloaderがTrueだとモジュールの初期化処理は2回実行されます。
|
5
5
|
|
6
|
-
reloaderのTrueの場合、そもそも「Webアプリのプロセス」は何度も何度も再起動されるものです。Webアプリの初期化処理(=モジュールの地の文)もその都度実行されるのが普通
|
6
|
+
reloaderのTrueの場合、そもそも「Webアプリのプロセス」は何度も何度も再起動されるものです。Webアプリの初期化処理(=モジュールの地の文)もその都度実行されるのが普通です。というより**そうでないと困ります**。それを特に不思議に思ったことはないです。
|
7
7
|
|
8
8
|
(*)この"プロセス"は厳密な意味でなくてふんわりと使っています。実体がOS用語のプロセスかもしれないし、スレッドかもしれないし、特にこだわらず"ある種のイベント待ちループを伴った処理"程度で使ってます。
|
1
抜けていた部分があった
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
reloaderがTrueだとファイルの更新のたびにアプリが再起動されますよね。
|
2
2
|
|
3
|
-
つまりreloaderがTrueの場合、メインプロセスが`app.run(debug=True)`まで進んだあと、「ファイルの更新を監視して必要に応じてWebアプリを停止・再起動させる」監視役のプロセス(*)が稼働して
|
3
|
+
つまりreloaderがTrueの場合、メインプロセスが`app.run(debug=True)`まで進んだあと、「ファイルの更新を監視して必要に応じてWebアプリを停止・再起動させる」監視役のプロセス(*)が稼働して「Webアプリのプロセス」の死活監視を始めるはずで、そして「死活監視をするプロセス」が「Webアプリのプロセス」を起動するはずです。
|
4
4
|
実際、質問にある通り、reloaderがTrueだとモジュールの初期化処理は2回実行されます。
|
5
5
|
|
6
6
|
reloaderのTrueの場合、そもそも「Webアプリのプロセス」は何度も何度も再起動されるものです。Webアプリの初期化処理(=モジュールの地の文)もその都度実行されるのが普通、というより**そうでないと困ります**。それを特に不思議に思ったことはないです。
|