RT,业务场景需要,从channel读出数据后,如果处理失败,需要把数据再丢入channel,再处理。但是因为数据有一定的顺序(不能把失败的数据写到channel的尾部),所以我再把失败的数据丢入channel准备重试的时候,需要丢到channel的头部,然后再读出来进行重试
错误这里应该直接 在函数内部处理,直接重试几次,不行就写入日志,不应该用CHAN来控制错误机制。在有一点,第一次错,不代表第二次就正确了,一般CHAN都是有数量限制的,错的多了,chan里就没有正确的了。。
应该像1楼那样,要不两个,要不就像9楼那样,别有可遇见性错误。
#10
更多评论
可是 你确定重试就会成功了?要是一直失败了 是不是就阻塞了? 阻塞了 内存是不是会暴涨? 。cpu会不会都浪费在重试上了,导致正常的请求没有时间处理?。。。
所以你这个前提就有问题?
#2