redis-queue在没有数据的时候一直在使用BRPOP进行阻塞弹出,但是这超时时间设置的是1秒,所以就一直在遍历队列有没有数据,如果只是一个简单的队列,每天只需要1个小时时间去运行队列消费,那其他没运行的时间他也一直在遍历,不是就一直在无用地消耗服务器资源吗?
这种情况有没有什么办法避免。
因为Redis-queue不知道redis里有没有数据,所以需要不停POP
数据是从Redis端pull到PHP,而不是从Redis端push到PHP
懂了
但是设置一个手动介入的参数开关还是可行的吧。如果知道长时间没有数据,没必要去开启这个遍历。目前发现把queue/redis/ 消费类文件移出可自动暂停,但是这样太不友好了。
又不耗费多少资源,折腾这个收益巨小
楼上正解,不想这么玩可以入库然后走定时脚本
场景不同,我尝试下定时脚本。
因为Redis-queue不知道redis里有没有数据,所以需要不停POP
数据是从Redis端pull到PHP,而不是从Redis端push到PHP
懂了
但是设置一个手动介入的参数开关还是可行的吧。如果知道长时间没有数据,没必要去开启这个遍历。目前发现把queue/redis/ 消费类文件移出可自动暂停,但是这样太不友好了。
又不耗费多少资源,折腾这个收益巨小
楼上正解,不想这么玩可以入库然后走定时脚本
场景不同,我尝试下定时脚本。