376 浏览
0

我写了个程序,两个线程循环获取数据,在开盘时间内程序有报错退出的时候自动重新连接,用的是try…except捕获异常,线程1埋了一个错误,运行到一段时间时会触发,然后重新连接运行程序,这样循环运行测试,线程2是正常程序,但是现在线程1在运行一段时间,重新连接了10次左右后出现下面的提示:

2024-10-06 19:58:04 – WARNING – 通知 : 与 wss://api.shinnytech.com/t/nfmd/front/mobile 的网络连接断开,请检查客户端及网络是否正常
2024-10-06 19:58:04 – WARNING – 通知 : 开始与 wss://api.shinnytech.com/t/nfmd/front/mobile 的重新建立网络连接
2024-10-06 19:58:04 – WARNING – 通知 : 与 wss://api.shinnytech.com/t/nfmd/front/mobile 的网络连接已恢复

这个提示之后线程1直接退出了,看起来像是被kill了,线程2则继续运行到正常结束。

我的程序如果是因为try…except捕获异常退出的话是会提示错误并重新连接的,也会执行api.close()的提示,如果是到达结束条件也会有提示,但是现在这两个提示都没有,所以应该是直接被kill了。

请教一下为什么线程1会被kill,是threading的问题还是操作系统的问题,还是天勤的原因呢?

另外如何捕获上面的异常?

ctr1013 问的问题 2024年10月6日