内容简介:Horizon 为 Laravel 提供了基于 Redis 的、拥有美观后台的、代码驱动配置的队列系统。Horizon 让我们可以轻松监控队列系统的关键指标,例如任务吞吐量、运行时间和失败任务等。Laravel Horizon 是官方的扩展包,配置以及使用很简单,跟着可以看到使用很简单,在部署的时候要注意以下几点
导语
Horizon 为 Laravel 提供了基于 Redis 的、拥有美观后台的、代码驱动配置的队列系统。Horizon 让我们可以轻松监控队列系统的关键指标,例如任务吞吐量、运行时间和失败任务等。
Laravel Horizon 是官方的扩展包,配置以及使用很简单,跟着 文档 就可以。
安装以及配置
composer require laravel/horizon php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider" config/horizon.php
使用
-
运行
php artisan horizon
-
访问
you_site.com/horizon
就可以看到后台了 -
还有其他命令
php artisan horizon:pause php artisan horizon:continue php artisan horizon:terminate
部署
可以看到使用很简单,在部署的时候要注意以下几点
-
确保有
failed_jobs
数据表,相关文档可以看 这里 -
默认情况下,只能在
local
访问,当然我们可以自定义-
首先修改
config/horizon.php
中environments
配置项。可以看到其中有local
和production
,将production
修改为线上.env
中APP_ENV
的值 -
接下来可以自定义后台的访问策略,使用
Horizon:auth
方法,return true
即可访问,否则返回403
。在app/Providers/AppServiceProvider.php
中修改如下
-
首先修改
public function boot() { Horizon::auth(function ($request) { // 这里进行判断,根据需求自行选择 // 通过认证可以访问 if (Auth::check()) { return true; } // 指定参数可以访问 if ($request->input('q') == 'horizon') { return true; } }); }
- 使用 Supervisor 进程守护,配置如下,根据情况进行修改(可以参考这两篇文章,这里, 那里 )
[program:horizon] process_name=%(program_name)s command=php /var/www/you_project_path/artisan horizon autostart=true autorestart=true user=laradock redirect_stderr=true stdout_logfile=/var/www/you_project_path/horizon.log
-
使用调度任务来生成监控,以便查看运行情况,在
app/Console/Kernel.php
修改如下
protected function schedule(Schedule $schedule) { // $schedule->command('inspire') // ->hourly(); $schedule->command('horizon:snapshot')->everyFiveMinutes(); }
结语
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- SmartSql使用教程(4)——多库配置与使用
- rsync配置使用简要说明
- 使用shadowtunnel配置多级代理
- 使用Maven配置Spring
- 使用go读取配置文件
- 使用 Spell 实践深度学习,几乎零配置开始使用
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。