背景介绍
事件的主角是我们的Nest项目。这个项目其实是一个飞书应用,主要用于拓展飞书文档和机器人能力。
先说原因,是axios 1.2.X版本包的问题,降版本可以解决。具体点这里
下面由我来详细讲讲自己的心路历程~
事件开端
前两天部署了新内容之后,今天猛然发现定时写入的文档更新时间停留在了两天前。。。顿觉五雷轰顶,于是开始紧锣密鼓的排查。
开始推理
打印输出了一波,最终目标锁定在这个方法上:
这个方法作用是调用飞书接口获取表格记录。在本地执行后,可以看到,在输出150行的内容之后,进程就消失了,接口也直接返回了500。
(并且没有捕获到异常)
这里走了个弯路,我以为是飞书的问题(经常误会飞书)。但是开放平台调试api又是没问题的。当时我已经懵逼了。
出现转机
排除其他可能性之后,开始觉得是Rxjs库的问题。由于之前不太熟悉,这个项目也是现写现学的。所以打算换个简单的写法试试,调整了一下代码,并且直接return了一个空对象:
调试输出:
居然是axios包报了个错,难怪原先的方式捕获不到错误,但是又中止了请求。但是这个报错内容我也是一脸懵逼。。。
搜了下axios的issue(开源包问题优先找issue~),还真搜到了点这里。大概是说因为1.2.X版本的问题。
真相大白
对比了自己的lock文件,新的:
旧的:
可以看到是因为@nestjs/axios从0.1.0升级到了0.1.1,所以更新了依赖包。。。
锁死 0.1.0 版本即可解决问题。
这个老哥可以说和我是一模一样了。[捂脸]