laravel使用 Horizon 管理定时任务
2019年4月1日『Horizon』是 Laravel 官方推出的一个集成在 Laravel 项目中的 Redis 队列管理工具,包含了一个可视化面板和几个管理命令,可以让我们更加方便地管理异步任务。
我们可以通过 composer 直接安装:
1 |
$ composer require laravel/horizon |
安装完成之后还需要把 Horizon 的配置文件和前端文件放到项目目录中:
1 |
$ php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider" |
现在我们访问 http://shop.test/horizon
看看 Horizon 的管理面板:
默认情况下这个页面只能在 APP_ENV=local
的环境可以看到,所以不用担心线上站点信息泄露。
可以看到状态是 Inactive,我们需要在终端调用 Horizon 的命令来启动:
1 |
$ php artisan horizon |
现在我们到管理后台任意找一个商品进入编辑页面然后保存,使之触发一个异步任务,然后看看终端:
可以看到这个命令和 queue:work
一样能够正常处理异步任务。现在再到 Horizon 的管理页面看看: