'consumer' => [
'handler' => Webman\RedisQueue\Process\Consumer::class,
'count' => 18, // 可以设置多进程同时消费
'constructor' => [
// 消费者类目录
'consumer_dir' => app_path() . '/queue/redis'
]
],
'consumer_slow' => [
'handler' => Webman\RedisQueue\Process\Consumer::class,
'count' => 1,
'constructor' => [
// 消费者类目录
'consumer_dir' => app_path() . '/queue/redis/slow'
]
],
现在配了这两个队列
如何指定 业务走 慢队列
这里写问题具体描述
按照文档说明,消费者放到 queue/redis/slow 目录下
所以 其实 consumer_slow 这个key没什么实际用
只要是slow目录下 就是另一组队列
目 录不可以有N个队列
key除了显示进程时有用,其它没什么用。
一个目录可以有多个队列
多个队列的时候 添加延时 只有目录下第一个监听的队列好使,其他的都在redis的延时队列里是什么情况
感谢老大解惑
那么 关于 队列 restart 之后 新的代码不生效 怎么处理哦。
每次改了业务后都要 更换队列的名称 才有用
没遇到过。关闭opcache试下
我没开opcache!!
nginx 反向代理的 cache也没开。
队列是否和redis有关》
当我在队列中 更新代码 。
php start.php stop
php start.php start -d
运行的还是原来的逻辑!!
没遇到过哈,可能你哪里没弄好,比如有其它地方在生产或消费队列,让你认为代码没更新。
我直接在队列里面 echo "a" 改改为 "echo b"
restart 之后
日志里面还是 输出 aaaaaaaaaaaaaaaaa
你在哪里看到的日志
stdout.log
我直接在队列里面 echo "a"的