付费课程, 订阅后即可观看
Redis 驱动队列的监控面板 Horizon
Redis 队列虽然处理速度很快,但一直以来由于在队列执行时没有好的监控方式导致很多人不喜欢用 Redis 驱动,大家都选择 sqs 以及 beanstalkd 队列驱动,虽然它们配置起来比较麻烦,但它们都有完善的监控面板。Laravel 后来推出了官方的 Redis 队列监控面板,安装和配置都简单到极点,重新把开发者又拉回了 Redis 驱动模式。
微信扫码登录

windows系统安装horizon,报错了。。。 第一次报错这个:could not be fully loaded, package information was loaded from the local cache and may be out of date
第二次安装报错这个:our requirements could not be resolved to an installable set of packages.
换个环境吧,我有些记不清了,windows底下包可以安装,但是不能运行horizon后台的。换个虚拟机的环境吧,不然怎么折腾也不行的
好[捂脸]
[捂脸]好
老哥 请教个问题
config/horizon.php
'production' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['default','property'],
'balance' => 'auto',
'processes' => 14,
'tries' => 3,
],
'supervisor-2' => [
'connection' => 'redis',
'queue' => ['photos'],
'balance' => 'simple',
'processes' => 10,
'tries' => 3,
],
'supervisor-3' => [
'connection' => 'redis',
'queue' => ['photo-delete'],
'balance' => 'simple',
'processes' => 3,
'tries' => 2,
],
],
这里面的'supervisor-1','supervisor-2','supervisor-3'是什么意思?
看注释,文档的注释写的很清楚,如果需要horizon监控多个队列,就需要在这里把创建的队列信息都填写一下,配置文件的注释提供了最好的解释,如果仍然不理解的话,再看看队列的文档也就明白了
上面config/horizon.php里'supervisor-1','supervisor-2','supervisor-3'相当于3个
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/vagrant/code/blog/artisan horizon
autostart=true
autorestart=true
user=vagrant
numprocs=3 # 是不是和这里的3要对应?
redirect_stderr=true
stdout_logfile=/home/vagrant/code/blog/worker.log
老哥,知道redis 咆哮位图么
哈哈,我还真的没咆哮过,看来我落伍了 ~
我也是才听说,再看,看看再说
我在服务器装 好像因为配置太垃圾了 他装不起来 老是kill 我增加虚拟空间也不行 求解
同一台服务器上有多个网站,添加一个进程守护就可以了(Supervisor)。但是两个网站的job的类名不能相同,不然B网站会执行A网站同名job里的handle方法。
这个我真没注意过,感谢顾叔专门留言补充这个非常细节的内容 ~
使用也Horizon,php artisan horizon,运行之后,默认就是启动了队列监听了吗?不用再执行一遍 php artisan queue:work了,是吧?前者好像已经启用了
对,就不用后面的指令了