已解决 去年用宝塔守护进程的问题, 启动停止重启均有问题,后废弃,未排查残留进程. 感谢老大的支持@walkor
同一时间加入 101条延时队列
消费时只有二三十条
数据库表id 从1600 到1700 消费队列打印 只有这么多
class AttendanceEnd implements Consumer
{
// 要消费的队列名
public $queue = 'end-attendance';
// 连接名,对应 plugin/webman/redis-queue/redis.php 里的连接`
public $connection = 'default';
// 消费
public function consume($data)
{
$attendance_id = $data['attendance_id']; echo $attendance_id . PHP_EOL;
}
}
这里写步骤
重试好几次 数量都对不上 会不会延时的时间一样 到时多进程消费出现bug
webman
求助
有可能有其它消费者在消费
只有 webman的消费者在消费, 没有其它的消费者 windows单进程没出现问题 linux多进程 出现这样
把消费者关闭,投递消息,看下redis里有多少记录
redis记录看了 数量是够的
也仔细检查了其它消费者队列名称, 没有重复的
没有人反馈过这个问题,如果你确认redis里记录是对的,我能想到的就是被其他进程消费了。需要自己定位下了
好的,老大, 查了一天了, 没查出来..哭死
查出来欢迎反馈,给大家参考
服务停了,确实有进程消费 kill不掉
执行 ps uaxf 找到主进程pid,执行kill -SIGINT pid
已杀完,问题解决. 之前宝塔的守护进程导致的问题