标题: 关于邮箱群发的数量
时间: 2020-11-18
『回复列表(19|隐藏机器人聊天)』
<?php
define("COUNT", 10);//定义每次处理的大小
$list = Db::getSendList();
while(count($list)){
$current_list = [];
for($i=0;i<COUNT;$i++){
array_push($current_list,array_pop($list));
}
sendMail($current_list);
sleep(1000);//间隔一秒 逐步测试最佳时间
}
echo '发送完成';
所以不需要间隔一分钟,主要是看这个处理的并发能力,和每次处理数量等有一些关系,可以尝试间隔一秒之类的。测试一下。
小米MIX2s(白)
@511,
如果你想单纯的学习了解这个过程,
你首先知道:在命令行,使用诸如 php test.php
这样的命令就可以在终端运行某个脚本。
在你的 web
进程代码中, 使用 exec
命令去在终端执行你所写的脚本 php
文件。这样两者是解耦的。如果你不需要立即返回结果的话,命令行程序运行是不会影响 web
的程序时间的。
我也不是这方面的专家,我只是用过相关的工具。例如ThinkPHP支持自定义命令,这样的好处的统一管理,并且在你的命令行脚本中也能使用TP
相关的 orm
等函数。
小米MIX2s(白)