使用redis-queue 时不时就出现这个waiting,除非执行重启服务,否则的话,这个队列会一直增加,但是不消费,这个是什么问题?该怎样处理的?
把消费逻辑都去掉试下,排除消费代码问题,例如死循环,访问数据库、redis、curl等超时等情况
超时情况会导致被放入到waiting里面么?如果是这样,怎样避免超时的被放入这个里面的,好像这个里面的只有重启时才会再次被消费
waiting应该是需要立刻消费的消息。 我的意思是应该是你业务逻辑卡住了,不能往下执行了,得自己找那段代码卡住了。所有的进程都卡住了,所以无法消费了。
消费代码应该没问题,一旦出现{redis-queue}-waiting后,后续的都会进入{redis-queue}-waiting
控制台也没有任何报错!重启服务就又可以执行了
记录日志,看下消费了没
应该是代码超时问题
业务逻辑代码贴出来看下
感觉也是业务逻辑阻塞了
怎么解决的,我现在也是这样的问题
我一般出现这样时,是因为我的redis消费进程没有启动。启动的时候,确保看到plugin.redis.consumer进程的名字
把消费逻辑都去掉试下,排除消费代码问题,例如死循环,访问数据库、redis、curl等超时等情况
超时情况会导致被放入到waiting里面么?如果是这样,怎样避免超时的被放入这个里面的,好像这个里面的只有重启时才会再次被消费
waiting应该是需要立刻消费的消息。
我的意思是应该是你业务逻辑卡住了,不能往下执行了,得自己找那段代码卡住了。所有的进程都卡住了,所以无法消费了。
消费代码应该没问题,一旦出现{redis-queue}-waiting后,后续的都会进入{redis-queue}-waiting
控制台也没有任何报错!重启服务就又可以执行了
记录日志,看下消费了没
应该是代码超时问题
业务逻辑代码贴出来看下
应该是代码超时问题
感觉也是业务逻辑阻塞了
怎么解决的,我现在也是这样的问题
我一般出现这样时,是因为我的redis消费进程没有启动。启动的时候,确保看到plugin.redis.consumer进程的名字