Laravel异步处理及守护进程

异步处理

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如图:

发布了17 篇原创文章 · 获赞 25 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41800559/article/details/84956778