唤醒之后,unit nlu请求要2、3分钟,每次说一句话之后总要卡2分钟才能开始执行指令或者发起AI请求,发现是unit.getUnit和get_token阻塞在了requests.get和requests.post
weibinke opened this issue · comments
确认已寻找过答案
我已确认在 Github issue 页、常见问题页、文档 中都查找过,没有找到类似问题和资料。我也没有 google / bing/ 百度 / duckduckgo 到相关解答。
安装方式
手动安装
操作系统
Mac
离线唤醒相关
如果是离线唤醒相关的问题,是否已确保 arecord temp.wav
、aplay temp.wav
(Linux) 或 rec temp.wav
、play temp.wav
(Mac)已正常工作?(注意要求不能带任何其他参数)如果不能,请先配置好麦克风和音响再尝试。
—— 我已确保录音、播放都正常工作才尝试 wukong-robot 。
问题描述
唤醒之后,unit nlu请求要2、3分钟,每次说一句话之后总要卡2分钟才能开始执行指令或者发起AI请求,发现是unit.getUnit和get_token阻塞在了requests.get和requests.post。
测试了网络没有问题,这里getUnit是主线程调用,有两个请求,打日志发现每个都要1分多钟,把url拿出来直接请求网络很快,换个地方调用也是很快,但是这里执行却要1分多钟,是哪里锁住了吗?
暂时只能在NLU.parse return None,把unit跳过规避下。
请教下requests这里看下是不是被什么锁住了,或者有什么bug导致,另外建议nlu处理最好异步化。
复现步骤
mac下,正常启动流程必现。前两天没问题,今天开始必现,不知道为啥。
是用的自己的UNIT账号吗?
是用的自己的UNIT账号吗?
用默认的和自己的都一样。我发现不是unit问题,而是只要调用requests.get就会卡住,我注释掉unit,然后加了个测试插件,handle执行requests.get,随便找个能访问的url都要等1分多钟,感觉是线程被抢占了。之前没问题,不知道搞了啥开始有问题,想办法调试是哪个线程抢占了cpu/io,对python不熟悉,大佬有什么建议吗
久未回复,先关闭本 issue 。