回答編集履歴

1

追記

2023/03/30 06:28

投稿

bsdfan
bsdfan

スコア4571

test CHANGED
@@ -1,3 +1,10 @@
1
+ 勘違いしていました。Flaskのasyncは、中で別のevent loopを作るので、外のevent loopには処理は移らないのですね。
2
+ そういうことなら、Flaskとは別のスレッドでevent loopを走らせてやるなどの必要があると思います。
3
+
4
+ thread を使うのはどうしても避けたいということなら、[ASGI サーバーとアダプタを使う](https://flask.palletsprojects.com/en/2.2.x/async-await/#background-tasks)という方法があるようです。
5
+ もしくは、async/await にしっかり対応したフレームワークに移行するのがいいのでは。[Quart](https://quart.palletsprojects.com/en/latest/) は Flask とほぼ同じように使えそうです。
6
+
7
+ ### 元の回答
1
8
  `asyncio.gather()` を await しないといけないのでは。
2
9
  ```python
3
10
  async def main():