Laravel异步处理及守护进程

本文介绍了在Laravel中实现异步处理的方法,包括配置Horizon以访问仪表盘,创建并调度Job任务,以及从控制器传递参数。同时,文章详细讲解了设置守护进程Supervisor的步骤,确保异步任务的稳定执行,包括在Ubuntu上安装Supervisor,配置horizen.conf文件,启动Supervisor以及验证进程运行状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异步处理

1.为了方便查看异步任务我们可以先配置好horizen,然后可以通过URL/horizon来访问到仪表盘。配置horizen链接:https://www.jianshu.com/p/b1cdc8bb596a(应注意.env文件的QUEUE_DRIVER将默认的sync改为redis)

2.配置好horizen后开始创建任务执行命令php artisan make:job test成功后可以在你项目的app下自动生成jobs文件夹刚创建的任务就在jobs文件夹下

3.在需要投递任务的控制器中发起投递任务用 dispatch(new 类名());来投递如图:

4.如果需要从控制器传变量过来就先定义这个变量,然后再构造函数里传参。最后在handle里写你的业务逻辑。任务就算投递成功了。如图:

5.想要测试异步执行是否成功配置好路由访问该控制器再查看horizen仪表盘的Rencent jobs可以看到刚投递的任务。这样异步就算成功完成。

守护进程

一般情况异步任务需要一个守护进程保证异步正常执行,所以接下来配置一个守护进程Supervisor

1.在 Ubuntu 下安装 Supervisor ,你可以使用以下命令:sudo apt-get install supervisor

2.进入etc/supervisor可以查看到conf.d和supervisord.conf两个文件然后在conf.d配置supervisor新建并编辑文件horizen.conf命令为vi horizen.conf并创建一个日志文件horizen.log。

3.编辑horizen.conf内容如下图

4.启动supervisor命令supervisord -c /etc/supervisor/supervisord.conf

5.查看守护进程是否成功命令为ps aux|grep php如图:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值