当队列消费长耗时任务时。是否会出现多个进程先后对同一个消息进行消费的情况?
不会
老大,是怎么防止重复消费的,能介绍下原理吗
用的redis pop,pop会保证只会有一个进程pop成功。
你的意思是,当进程1消费耗时任务过程未结束时,同消息再次被消费时会不会仍然是进程1,还是被其他进程消费?
是指的一个消息假设消费需要100秒,A进程拿到消息开始消费,在A进程消费没有结束前,其他进程是否也会拿到这个消息进行消费
不会 重复消费的,redis 的 pop 是先pop出来然后消费 ,你已经pop出来了 ,其他 消费者 哪不到这个数据了,所以不会重复消费
躲开几个进程,测试一下就可以了
用的腾讯云TDMQ消息队列,都无法做到能保证同一时间只被1个消费者消费,redis的没用过
不会
老大,是怎么防止重复消费的,能介绍下原理吗
用的redis pop,pop会保证只会有一个进程pop成功。
你的意思是,当进程1消费耗时任务过程未结束时,同消息再次被消费时会不会仍然是进程1,还是被其他进程消费?
是指的一个消息假设消费需要100秒,A进程拿到消息开始消费,在A进程消费没有结束前,其他进程是否也会拿到这个消息进行消费
不会
不会
不会 重复消费的,redis 的 pop 是先pop出来然后消费 ,你已经pop出来了 ,其他 消费者 哪不到这个数据了,所以不会重复消费
躲开几个进程,测试一下就可以了
用的腾讯云TDMQ消息队列,都无法做到能保证同一时间只被1个消费者消费,redis的没用过