質問編集履歴
3
ヘッダーにkeep-aliveを追加したときのキャプチャを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -123,4 +123,19 @@
|
|
123
123
|
```
|
124
124
|
レスポンスヘッダーを見ると、http/1.0からhttp1.1にはなったのですが、Connectionはcloseのままでした。
|
125
125
|

|
126
|
-
そして、データの欠落についてですが、まだ改善は見られておりません。
|
126
|
+
そして、データの欠落についてですが、まだ改善は見られておりません。
|
127
|
+
|
128
|
+
---
|
129
|
+
|
130
|
+
**<2021/1/16 14:03 追記>**
|
131
|
+
|
132
|
+
WSGIRequestHandlerでhttp1.1の指定に加えて、Responseヘッダにkeep-aliveを追加。
|
133
|
+
```python
|
134
|
+
resp = Response(event_stream(), mimetype="text/event-stream")
|
135
|
+
resp.headers['Connection'] = 'keep-alive'
|
136
|
+
return resp
|
137
|
+
```
|
138
|
+
Connectionにkeep-aliveが追加されるようにはなったのですが、Connection:closeは残ったまま。
|
139
|
+
データの欠落も、まだ改善は見られておりません。
|
140
|
+
|
141
|
+

|
2
http1.1を試した結果を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -110,4 +110,17 @@
|
|
110
110
|
・参考コード:[Flaskで簡易版プログレスバー実装して処理の進捗見れるようにしてやんよ!!!
|
111
111
|
](https://tokidoki-web.com/2020/02/flask%E3%81%A7%E7%B0%A1%E6%98%93%E7%89%88%E3%83%97%E3%83%AD%E3%82%B0%E3%83%AC%E3%82%B9%E3%83%90%E3%83%BC%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%A6%E5%87%A6%E7%90%86%E3%81%AE%E9%80%B2%E6%8D%97%E8%A6%8B/)
|
112
112
|
|
113
|
-
些細なことでも構いませんので、お力添えのほどよろしくお願いいたします。
|
113
|
+
些細なことでも構いませんので、お力添えのほどよろしくお願いいたします。
|
114
|
+
|
115
|
+
---
|
116
|
+
|
117
|
+
**<2021/1/16 13:15 追記>**
|
118
|
+
|
119
|
+
app.run()の直前でWSGIRequestHandlerでhttp1.1を指定した結果は下記のようになりました。[【参考コード】](https://stackoverflow.com/questions/10523879/how-to-make-flask-keep-ajax-http-connection-alive)
|
120
|
+
|
121
|
+
```python
|
122
|
+
WSGIRequestHandler.protocol_version = "HTTP/1.1"
|
123
|
+
```
|
124
|
+
レスポンスヘッダーを見ると、http/1.0からhttp1.1にはなったのですが、Connectionはcloseのままでした。
|
125
|
+

|
126
|
+
そして、データの欠落についてですが、まだ改善は見られておりません。
|
1
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,16 +1,11 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
|
-
Python(flask)でブラウザでボタンを押したらサーバー側で処理を行い、結果をSSEでブラウザ側に表示するサイトを作っています。
|
2
|
+
Python(flask)でブラウザでボタンを押したらサーバー側で処理を行い、結果をSSEでブラウザ側に表示するサイトを作っています。しかし、ブラウザで表示されるログは、一部が欠落してスキップしてデータが表示されてしまい苦戦しております。(例:①〜⑩の処理を表示したいが、②の処理がブラウザ側では取得することができないことがときどき起こる)
|
3
|
-
しかし、ブラウザで表示されるログは、一部が欠落してスキップしてデータが表示されてしまい苦戦しております。
|
4
|
-
(例:①〜⑩の処理を表示したいが、②の処理がブラウザ側では取得することができないことがときどき起こる)
|
5
3
|
|
6
4
|
### 処理内容
|
7
|
-
ajaxでブラウザ側のボタンを押したらサーバー側で処理の結果をQueueモージュールにてデータを逐次入れていき、
|
5
|
+
ajaxでブラウザ側のボタンを押したらサーバー側で処理の結果をQueueモージュールにてデータを逐次入れていき、それをwhileの中でデータを取り出し、event-streamでブラウザ側に結果を表示しようと試みてますが、思ったように動作することができておりません。(サーバーの処理後ブラウザへ値を渡したいです)
|
8
|
-
それをwhileの中でデータを取り出し、event-streamでブラウザ側に結果を表示しようと試みてますが、
|
9
|
-
思ったように動作することができておりません。(サーバーの処理後ブラウザへ値を渡したいです)
|
10
6
|
|
11
7
|
### エラー画面・取得できない例
|
12
|
-
サーバー側のログを見てみると、①〜⑩の処理は取得できているのですが、ブラウザ側では②を取得することができてません。
|
13
|
-
ブラウザに上手く表示されないデータは、毎回固定ではなく、クリックするタイミングにもより変化してます。(全て正常に動作することもあります)
|
8
|
+
サーバー側のログを見てみると、①〜⑩の処理は取得できているのですが、ブラウザ側では②を取得することができてません。ブラウザに上手く表示されないデータは、毎回固定ではなく、クリックするタイミングにもより変化してます。(全て正常に動作することもあります)
|
14
9
|
|
15
10
|
【ブラウザ側】
|
16
11
|

|