api协程死循环如何释放 可以设置api协程超时时间吗
来源:1-8 辅导 + 案例分析 + 答疑
慕尼黑2207807
2021-06-10 15:23:40
问一下 如果有一种场景,比如写业务逻辑的时候,认为数据库的某个字段一定不可能为某个值,但是因为异常原因导致数据库出现了这个值,从而导致某几个api接口某些情况下变成死循环,那么这个api对应的协程会一直在存在吧,占用运行资源,如何才能发现像这种异常的协程,而且,有没有什么比如设置每个api协程的超时时间的这样的保底方案呀?
1回答
Xargin
2021-06-10
协程本身的超时不好控制,目前只能通过 ctx,还需要对方配合才行
如果有死循环的话,线上应该会有 CPU 飚升的异常出现的,监控应该能发现
去线上用 perf top 可以看到具体 CPU 使用很高的代码位置,定位应该不难
相似问题
回答 1
回答 1