一个人负责一个小系统,连个讨论问题的人都没有

一个人负责一个小系统,遇到问题连个讨论的人都没有,难受。是这样的,有一个场景需要调用外部系统查询数据,查询数据需要一次调用好多个接口,为了加快速度就用线程池去并行查询,汇总结果后保存到数据库。最近业务量有点多,发现任务没有完成,查看阿里云的监控,发现我创建的这个线程池任务队列好长时间没有变化,活跃线程也没有变化,不知道什么情况。即使接口超时报错了,但是设置了请求30秒超时,也不应该长时间没有变化呀。有没有大佬给给思路。

6 Likes

看不懂,帮顶!

多加几个日志打印输出,方法前、后的参数变化等等,一步步缩小出现问题的范围。光文字描述没法帮你定位问题。贴代码也不太合适,怕泄露公司业务。静下心慢慢排查

消费者线程挂掉了?生产者线程挂掉了?线程池挂掉了?反正总有一个或者多个挂掉了,或者自己慢慢debug呗…

1 Like

一个人负责一个系统 不要慌,增加日志,调用接口前后都加日志,云上不好排查,就加一些机制 比如超时什么的 异常情况,就使用邮件工具类 给自己发邮件,

一个小系统而已~tieba_001

已经解决了,线程池嵌套,导致线程阻塞了

可以考虑基于每个请求,把相关线程处理结构异步写个库或者日志,日后排查以及扯皮方便