码迷,mamicode.com
首页 > Web开发 > 详细

利用Guzzle实现另一种PHP异步发送邮件(laravel5.4)

时间:2017-11-15 21:41:05      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:getc   成功   log   blog   并集   5.4   手册   star   方法   

前言:第二种实现方法

 

方法的思路:

此方法的实现需要借助Guzzle这个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上(laravel中如何引入guzzle不多说)

使用该方法所实现的异步为让发送邮件的请求在不需要等待回应的情况下都发出,即只要循环触发方法,分开发送,分开响应,可以监控,

guzzle中文文档: http://guzzle-cn.readthedocs.io/zh_CN/latest/quickstart.html

 

过程:

该方法为邮件内容处理,然后调用了doThread方法(自己写的方法),此方法为开始异步的方法,第一个参数为url,即异步请求的路由;第二个从参数为一个回调函数,此处我用来记录邮件发送后请求失败或者成功

 

   技术分享

接下来介绍doThread方法,此方法即为异步请求的地方,此处调用的方法均为Guzzle中的方法,所以本篇博文的重点其实是看明白Guzzle的手册

   技术分享

最后就是异步请求给定的路由连接实现发送邮件,在我的回调函数当中可以分别记录下发送成功或者失败

顺便说一下$response->getbody()->getContents()该语句可以获取你异步请求的方法中返回的结果,手册中均有。

 

总结:

该方法还是要必须等待所有的邮件都发送完成返回才能进行其他操作,所以等于发送邮件的实现还是占用了主进程,只是我们变着法子让处理的时间变到了最短。

但是我仍然觉得这样的方法在请求达到一定的数量以后还是需要较长时间的等待,并不友好。

最后学会看手册真的很重要,手册里面都写着呢。

 

利用Guzzle实现另一种PHP异步发送邮件(laravel5.4)

标签:getc   成功   log   blog   并集   5.4   手册   star   方法   

原文地址:http://www.cnblogs.com/cyclzdblog/p/7840625.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!