Laravel Horizon 配置以及使用

栏目: PHP · 发布时间: 5年前

内容简介: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

使用

  1. 运行 php artisan horizon
  2. 访问 you_site.com/horizon 就可以看到后台了
  3. 还有其他命令

    php artisan horizon:pause
    php artisan horizon:continue
    php artisan horizon:terminate

部署

可以看到使用很简单,在部署的时候要注意以下几点

  1. 确保有 failed_jobs 数据表,相关文档可以看 这里
  2. 默认情况下,只能在 local 访问,当然我们可以自定义

    1. 首先修改 config/horizon.phpenvironments 配置项。可以看到其中有 localproduction ,将 production 修改为线上 .envAPP_ENV 的值
    2. 接下来可以自定义后台的访问策略,使用 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;
        }

    });
}
  1. 使用 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
  1. 使用调度任务来生成监控,以便查看运行情况,在 app/Console/Kernel.php 修改如下
protected function schedule(Schedule $schedule)
{
    // $schedule->command('inspire')
    //          ->hourly();
    $schedule->command('horizon:snapshot')->everyFiveMinutes();
}

结语

Laravel Horizon 还有 标签 以及 通知 的配置,感兴趣的可以查看文档。

参考资料: 官方扩展包 —— 队列系统解决方案:Laravel Horizon


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Four

The Four

Scott Galloway / Portfolio / 2017-10-3 / USD 28.00

NEW YORK TIMES BESTSELLER USA TODAY BESTSELLER Amazon, Apple, Facebook, and Google are the four most influential companies on the planet. Just about everyone thinks they know how they got there.......一起来看看 《The Four》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具