我正在php中运行一个foreach循环,它比我的最大执行时间30秒执行花费的时间更长。该循环将单个电子邮件发送给用户。php使用循环来重新启动脚本执行的时间限制
而不是每隔30秒运行cron作业并创建记录队列仅使用set_time_limit(30)
重新启动循环中的计数器是不道德的?
$i = 0; //start count from 0
foreach ($users as $user):
//limit emails sent
if(++$i == 100) break; //ends execution of loop
set_time_limit(30); //restart timeout counter
send_email($user); //send email to user
endforeach;
我是新来这一点,但与上面的代码,我想我给每封电子邮件30秒才能完成,但也打破了循环时,100封邮件被发送,因此脚本不会永远运行。
更新:set_time_limit(0)
违背托管服务条款,我认为,重新启动超时计数器重新启动脚本,以及将科雷
不道德?不是,针对你的主机TOS?也许。 – 2012-07-24 17:32:22
你能够运行cronjob吗?邮件队列? – ajreal 2012-07-24 17:43:03