laravel使用 Horizon 管理定时任务

2019年4月1日 作者 张舫

『Horizon』是 Laravel 官方推出的一个集成在 Laravel 项目中的 Redis 队列管理工具,包含了一个可视化面板和几个管理命令,可以让我们更加方便地管理异步任务。

我们可以通过 composer 直接安装:

安装完成之后还需要把 Horizon 的配置文件和前端文件放到项目目录中:

现在我们访问 http://shop.test/horizon 看看 Horizon 的管理面板:

默认情况下这个页面只能在 APP_ENV=local 的环境可以看到,所以不用担心线上站点信息泄露。

可以看到状态是 Inactive,我们需要在终端调用 Horizon 的命令来启动:

现在我们到管理后台任意找一个商品进入编辑页面然后保存,使之触发一个异步任务,然后看看终端:

可以看到这个命令和 queue:work 一样能够正常处理异步任务。现在再到 Horizon 的管理页面看看: