多次运行一个函数,无需等待php中的响应

时间:2017-07-18 11:03:55

标签: php multithreading asynchronous sendasynchronousrequest bulk-mail

我有邮件功能和100k电子邮件ID。我想多次调用函数10次,每次都会处理10k封电子邮件。我想调用此函数而不等待响应只调用一个函数而另一个函数而另一个函数没有得到响应。

我尝试使用pthread进行多线程处理,但无法成功运行它。

我正在使用我的sql数据库

3 个答案:

答案 0 :(得分:1)

你可以使用多个PHP进程,就像你可以使用多个线程一样,PHP没有太大区别,因为PHP没有任何共享。

您可能希望等待它完成并注意到任何错误,但不想在启动另一个进程之前等待完成。 Amp非常适合此类用例。它的amphp/parallel包使得多处理比使用PHP的本机API更容易。

您可以找到usage example in the repository

答案 1 :(得分:0)

我要制作另一个php文件,它负责发送电子邮件并通过ajax在后台使用for :: each循环调用它。有了这个,您就可以获得您想要的大量电子邮件。此外,由于ajax在后台运行,您可以创建日志以查看发送的电子邮件。

答案 2 :(得分:0)

php name_of_script.php &>/dev/null &

此行将在后台启动您的脚本。 我想您不想控制从浏览器发送邮件等关键过程?如果您的连接中断了几秒钟怎么办?

如果是这样:仍然使用命令行方法,但使用exec

$command = '/usr/bin/php path/to/script.php & echo $!');