回答編集履歴
2
Queue不要のため修正
test
CHANGED
@@ -1,7 +1,3 @@
|
|
1
|
-
キューにポンポン投入して順番に実行していきます。
|
2
|
-
|
3
|
-
|
4
|
-
|
5
1
|
実行を止めるためのフラグのところはお行儀が悪いかもしれませんがとりあえずの実装です。
|
6
2
|
|
7
3
|
|
@@ -18,39 +14,19 @@
|
|
18
14
|
|
19
15
|
|
20
16
|
|
21
|
-
from asyncio import Queue
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
# タスクを先入先出処理するためのキュー
|
26
|
-
|
27
|
-
que = Queue()
|
28
|
-
|
29
|
-
|
30
|
-
|
31
17
|
# タスク処理屋
|
32
18
|
|
33
19
|
executor = ThreadPoolExecutor(max_workers=1, thread_name_prefix="thread")
|
34
20
|
|
35
21
|
|
36
22
|
|
37
|
-
#
|
23
|
+
# 処理を止めるためのフラグ
|
38
24
|
|
39
25
|
working = {'state':True}
|
40
26
|
|
41
27
|
|
42
28
|
|
43
|
-
# 処理
|
44
29
|
|
45
|
-
async def process():
|
46
|
-
|
47
|
-
while working['state']:
|
48
|
-
|
49
|
-
board = await que.get()
|
50
|
-
|
51
|
-
logger.info(f"[TASKID:{board.get('id')}] 処理を開始します。")
|
52
|
-
|
53
|
-
executor.submit(event, board)
|
54
30
|
|
55
31
|
|
56
32
|
|
@@ -70,7 +46,7 @@
|
|
70
46
|
|
71
47
|
logger.info(f"[TASKID:{board.get('id')}] 受信しました。")
|
72
48
|
|
73
|
-
|
49
|
+
executor.submit(event, board)
|
74
50
|
|
75
51
|
logger.info(f"[TASKID:{board.get('id')}] タスクをキューに投入しました。")
|
76
52
|
|
@@ -98,7 +74,7 @@
|
|
98
74
|
|
99
75
|
loop.create_task(stream())
|
100
76
|
|
101
|
-
|
77
|
+
|
102
78
|
|
103
79
|
try:
|
104
80
|
|
1
修正
test
CHANGED
@@ -68,6 +68,8 @@
|
|
68
68
|
|
69
69
|
board = json.loads(response)
|
70
70
|
|
71
|
+
logger.info(f"[TASKID:{board.get('id')}] 受信しました。")
|
72
|
+
|
71
73
|
await que.put(board)
|
72
74
|
|
73
75
|
logger.info(f"[TASKID:{board.get('id')}] タスクをキューに投入しました。")
|