zoukankan      html  css  js  c++  java
  • PHP异步发送邮件始(laravel5.1)

    前言:目前在做的项目中存在一个邮件发送的功能,并且存在群发的情况,记录下实现的过程

    邮件发送初体验:

    开发的项目中碰到了一个需要发送邮件的功能,并且可能同时发送给多个人,想想好像没有什么不对,巴拉巴拉一下开发完了,用了循环发送邮件,嗯。。。就是用的循环!

    写完了以后突然想到一个问题,如果要同时发一百封邮件,那我这样写发送邮件的人不是要等很久才能接收到发送成功的提示,因为PHP是单线程的啊,他要发完一条返回再发下一条。

    然后我就明白了,我这样写不能说有错,但是很显然对于用户啊来说是不友好的,甚至不合理的,于是开启了探寻之路。

    PHP异步:

    想到这个问题以后,在网上找了下,发现可以使用PHP异步来实现,经过了一番查询,有两种实现方法(均为异步)

    ①. 创建一个新的进程,将发送邮件有关的一系列操作放在该进程中实现,发送者点击按钮触发的进程照常返回,可继续进行其它操作,此时邮件正在后台的另一个进程中默默发送。

    ②. 使用循环,假设一百封邮件,则每次循环只会触发邮件开始发送,并不会等待上一封邮件的返回,一百封邮件的发送在循环结束后,就已经都在发送,但是必须等到一百个发送邮件的请求都返回后,此进程才可以结束(此方法使用GUZZLE实现)。

    下一篇博文将会正式开始记录第一种实现方法

  • 相关阅读:
    axios简单应用 和 fetch的简单应用
    mock数据----Json-Server的简单应用
    前端架构:MVC以及MVVM MVP介绍
    vue 路由之间的简单传参小记
    工具方法: jQuery.方法() $.extend (小计)
    JavaScript Object中的函数assign
    js中的this指向问题(小计)
    JS中的闭包(转自他处)
    一个页面里如果想获取图片两个地方用到我们怎模板
    fetch
  • 原文地址:https://www.cnblogs.com/cyclzdblog/p/7834046.html
Copyright © 2011-2022 走看看