質問編集履歴

1

詳細情報の追加

2019/12/11 05:43

投稿

hkcomori
hkcomori

スコア30

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,13 @@
4
4
 
5
5
  uWSGI+FlaskのWebアプリをgeventを使って並行動作させようとしています。
6
6
 
7
+ 具体的には時間がかかる外部IO処理をロングポーリング方式で実装しようとしており、
8
+
9
+ そのIO待ちをgevent.sleepで待機したいと考えています。
10
+
11
+
12
+
7
- 以下のコードで動作確認したところ、次のような結果となりました。
13
+ その前段階として、以下のコードでgevent.sleep動作確認したところ、期待と異結果となりました。
8
14
 
9
15
 
10
16
 
@@ -143,3 +149,15 @@
143
149
  touch-reload = .uwsgi_touch
144
150
 
145
151
  ```
152
+
153
+
154
+
155
+ ## その他
156
+
157
+
158
+
159
+ - WebアプリはMySQLへの読み書き処理を含む
160
+
161
+ - MySQLの読み書きはSQLAlchemy+PyMySQLを使用している
162
+
163
+ - uWSGIのgevent-monkey-patchオプションを有効に有効にすると、SQLAlchemyで例外が発生するようになったため、モンキーパッチは使用していない (DBアクセス中にコネクションが切断される。scoped_sessionをgevent経由で並行アクセスするようになるのが原因?)