Mycroft ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ฌธ์ ๋ฅผ ์ ์ถํ ๋ ๋ค์ ์ง์นจ์ ๋ฐ๋ผ ๋์์ ๋ฐ์ผ์ญ์์ค.
์๋ฅผ ๋ค๋ฉด :
์๋ฅผ ๋ค๋ฉด :
20:00:14.407 | ERROR | 949 | concurrent.futures | exception calling callback for <Future at 0x737d7b10 state=finished raised KeyError>Traceback (most recent call last): File "/usr/lib/python3.7/concurrent/futures/_base.py", line 324, in _invoke_callbacks callback(self) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_executor.py", line 60, in _callback self.emit('error', exc) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 111, in emit self._emit_handle_potential_error(event, args[0] if args else None) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 83, in _emit_handle_potential_error raise error File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 121, in g self.remove_listener(event, f) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 136, in remove_listener self._events[event].pop(f)KeyError: <bound method MessageWaiter._handler of <mycroft.messagebus.client.client.MessageWaiter object at 0xb2e8fd90>> 20:00:14.408 | ERROR | 949 | concurrent.futures | exception calling callback for <Future at 0x737d79d0 state=finished raised KeyError>Traceback (most recent call last): File "/usr/lib/python3.7/concurrent/futures/_base.py", line 324, in _invoke_callbacks callback(self) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_executor.py", line 60, in _callback self.emit('error', exc) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 111, in emit self._emit_handle_potential_error(event, args[0] if args else None) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 83, in _emit_handle_potential_error raise error File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 121, in g self.remove_listener(event, f) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 136, in remove_listener self._events[event].pop(f)KeyError: <bound method MessageWaiter._handler of <mycroft.messagebus.client.client.MessageWaiter object at 0x7514b7b0>>
cli ๋ช
๋ น :log level debug
๋ฅผ ์
๋ ฅํ์ฌ ๋๋ฒ๊ทธ ํ ๋ก๊ทธ ์์ค์ ์ค์ ํ์ฌ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ ์ํํ๋ ค๋ ์์
์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณต ํ ์ ์์ต๋๊น?
wait_for_response()
๋๋ wait_for_message()
์์ ์ด๋ฏธ ์ ๊ฑฐ ๋ ํธ๋ค๋ฌ๋ฅผ ์ ๊ฑฐํ๋ ค๊ณ ํ ๋ ํ์๋๋ ์ค๋ฅ์ฒ๋ผ ๋ณด์
๋๋ค. ๋ด๊ฐ ๊ทธ๊ฒ์ ์ ๋ฐํ ์ ์๋์ง ๋ณผ ๊ฒ์
๋๋ค.
์ ์ฅ, ์คํฌ๋ฆฐ ์ท์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฝ๋๋ค๋ฉด ์ถ๊ฐ ์ ๋ณด๊ฐ ์์ต๋๋ค. ์ด์ ์ฌํ ํ ์ ์์์ง๋ง ๋ ์๋ํด ๋ณด๊ฒ ์ต๋๋ค.
@forslund ์ฃ์กํฉ๋๋ค : /
์ฌ๊ธฐ์ ์์ด๋์ด๊ฐ ์์ต๋๋ค. ์ฌ์ฉ์ ๋๋ ์ผ๋ถ ๊ธฐ์ ์ด "mycroft-messagebus-client"pip ํจํค์ง๋ฅผ ์ค์นํ๋ฉด messagebus-client๊ฐ ์ฌ์ ํ pyee == 5.0.1์ ์ฌ์ฉ ์ค์ด๋ฏ๋ก pyee ๋ฒ์ ์ถฉ๋์ด ์์ต๋๋ค.
https://github.com/MycroftAI/mycroft-messagebus-client/pull/4
--user ์ต์ ์ผ๋ก ์์คํ ์ ์ฒด๋ฅผ ์ค์นํ ๋ ๊ทธ๊ฒ์ ๋ณด์์ต๋๋ค. Venv ๋ด์์๋ ๋ฐ์ํ๋์ง ํ์คํ์ง ์์ต๋๋ค. ์๋ง๋ ๊ทธ๊ฒ์ pyee์ ๊ดํ ๊ฒ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋ฉด ExecutorEventEmitter ํด๋์ค๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ์ค๋ฅ๊ฐ ImportErrors๋ผ๊ณ ์๊ฐํฉ๋๋ค (ํ ์คํธ ํ).
Ake์ ์ข ๋ ์กฐ์ฌํ๊ณ ์ฑํ
ํ ํ์๋ ์ด๊ฒ์ด ์ด๋ฏธ ์ง์์ง ์ด๋ฒคํธ์์ ์ฝ๋ฐฑ ํจ์๋ฅผ ํํ๋ ค๋ MessageBusClient.emitter.once
๋ฉ์๋ ์ผ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ด๊ฒ์ ํ์ธํด์ผํ๋ฉฐ ์ฐธ์ด๋ผ๋ฉด ๋ฑ๋ก ๋ ๊ฐ ๊ธฐ๋ฅ์ด ๊ณ ์ ํ์ง ํ์ธํด์ผํฉ๋๋ค.
๊ทธ๋์ ๋ช ๊ฐ์ง ํ ์คํธ๋ฅผํ๊ณ ๋ฑ๋ก ๋ ๊ฐ ๊ธฐ๋ฅ์ ๊ณ ์ ํฉ๋๋ค. ์์ธ๊ฐ ํฌ์ฐฉ๋๊ณ ๋ณด๊ณ ๋์๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ๋ฌธ์ ๋ ์น๋ช ์ ์ด์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ด ํ
์คํธ๋ ๋ฌธ์ ๊ฐ ์๊ฐ ์ด๊ณผ (์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ ๊ฑฐํจ)์ ์ฒ๋ฆฌ๊ธฐ์ ์๋ ์ ๊ฑฐ once
์ฌ์ด์ ๊ฒฝ์ ์กฐ๊ฑด์ด๋ผ๊ณ ๋ฏฟ๊ฒํฉ๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ pyee์๊ฒ ์
์คํธ๋ฆผ์ผ๋ก๋ณด๊ณ ํด์ผ ํ ๊ฒ์
๋๋ค ...
๋๋ ๋ฌด์์๋ก ์ค๋ฅ๋ฅผ ๋ณด์๊ณ mycroft์ ์ฝ๋์์ ํธ๋ฆฌ๊ฑฐ๋๋ ์์น๋ฅผ ์ ํํ ์ฐพ์ ์ ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ถ๊ฐ ๋ก๊น ์ ์ถ๊ฐํ์ต๋๋ค. ๊ธฐ์ ๊ณผ์ ์ ์ด๋๊ฐ์ ...
๋๋ ๋ฌธ์ ๋ฅผ ์ ์คํธ๋ฆผ์ ์ด์์ต๋๋ค.
๋ด ์ด๋ก ์ ๊ด์ฐฐ์ ๋ํ ์์ ์ด pyee์ ๋ณํฉ๋์ด 8.1.0์ผ๋ก ๋ฆด๋ฆฌ์ค๋์์ต๋๋ค. ์ฌ๊ธฐ์ Adapt์์ PR์ ์ค๋นํ์ฌ ๋ฒ์ ์ ๋๊ธฐํํ๊ณ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋์ง ํ์ธํ ๊ฒ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค๋ฅธ ๋ฌธ์ ๋ ์์ต๋๋ค. :)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ด ์ด๋ก ์ ๊ด์ฐฐ์ ๋ํ ์์ ์ด pyee์ ๋ณํฉ๋์ด 8.1.0์ผ๋ก ๋ฆด๋ฆฌ์ค๋์์ต๋๋ค. ์ฌ๊ธฐ์ Adapt์์ PR์ ์ค๋นํ์ฌ ๋ฒ์ ์ ๋๊ธฐํํ๊ณ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋์ง ํ์ธํ ๊ฒ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค๋ฅธ ๋ฌธ์ ๋ ์์ต๋๋ค. :)