gpt4 book ai didi

php - PHP中的线程?

转载 作者:IT王子 更新时间:2023-10-29 01:13:38 24 4
gpt4 key购买 nike

我正在使用 zend 创建一个 Web 应用程序,在这里我创建了一个界面,用户 A 可以从该界面向多个用户发送电子邮件,它工作得很好,但它会减慢执行时间,因为用户 A 等待对于“已确认的回复”(将在电子邮件发送后显示。)来说太多了。

在 Java 中,我们可以通过“线程”执行该任务(发送电子邮件)并且它不会减慢其余应用程序的速度。

在 PHP/Zend 中是否有任何技术可以像在 Java 中那样划分我们可能需要很长时间的任务,例如:发送电子邮件。

最佳答案

编辑(感谢@Efazati,这个方向似乎有新的发展)

http://php.net/manual/en/book.pthreads.php
注意:(来自底部的 here):

pthreads was, and is, an experiment with pretty good results. Any of its limitations or features may change at any time; [...]

/编辑

PHP 中没有线程!

解决方法 是将作业存储在一个队列中(比如表中包含电子邮件的行)并让 cronjob 以给定的时间间隔(比如 2 分钟)调用您的 php 脚本并轮询作业.当作业出现时获取一些(取决于你的 php 的安装超时)并发送电子邮件。

延迟执行的主要思想:

  • 主脚本在队列中添加作业
  • cron 脚本以微小的片段发送它们

陷阱:

  • 确保你不发送电子邮件而不从队列中删除(最坏的情况是如果用户每隔 2 分钟收到一些垃圾邮件......)
  • 确保您不会在未先执行作业的情况下将其删除...
  • 使用评分算法处理退回邮件

关于php - PHP中的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2585656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com