zoukankan      html  css  js  c++  java
  • 利用Guzzle实现另一种PHP异步发送邮件(laravel5.4)

    前言:第二种实现方法

    方法的思路:

    此方法的实现需要借助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()该语句可以获取你异步请求的方法中返回的结果,手册中均有。

    总结:

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

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

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

  • 相关阅读:
    模板元编程实现素数判定
    JDBC开发
    4.9 当相应行存在时更新
    QT5中如何使用QFtp类(这个类虽然没有被收录,但一直在更新)
    gcc和g++的区别
    Awesome C/C++(图像部分)
    Ubuntu更新源
    GO的GDB调试
    内核探测工具systemtap简介
    列举一下项目中使用的产品和技术
  • 原文地址:https://www.cnblogs.com/cyclzdblog/p/7840625.html
Copyright © 2011-2022 走看看