我有一系列手机号码,大约50,000个.我正在尝试使用第三方API处理和发送批量短信到这些号码,但浏览器会冻结几分钟.我正在寻找一个更好的选择.
数据的处理涉及检查移动电话号码类型(例如CDMA),为所有号码分配唯一的ID以进一步参考,检查网络/国家/地区的独特费用等.
我想到排队数据库中的数据,并使用cron每分钟发送大约5k,但如果有很多消息,那将需要时间.我的其他选择是什么?
我在XAMPP服务器上使用Codeigniter 2.
我会写两个脚本:
<iframe src="job.PHP" frameborder="0" scrolling="no" width="1" height="1"></iframe> <script type="text/javascript"> function progress(percent){ document.getElementById('done').innerHTML=percent+'%'; } </script><div id="done">0%</div>
set_time_limit(0); // ignore PHP timeout ignore_user_abort(true); // keep on going even if user pulls the plug* while(ob_get_level())ob_end_clean(); // remove output buffers ob_implicit_flush(true); // output stuff directly // * This absolutely depends on whether you want the user to stop the process // or not. For example: You might create a stop button in index.PHP like so: // <a href="javascript:window.frames[0].location='';">Stop!</a> // <a href="javascript:window.frames[0].location='job.PHP';">Start</a> // But of course,you will need that line of code commented out for this feature to work. function progress($percent){ echo '<script type="text/javascript">parent.progress('.$percent.');</script>'; } $total=count($mobiles); echo '<!DOCTYPE html><html><head></head><body>'; // webkit hotfix foreach($mobiles as $i=>$mobile){ // send sms progress($i/$total*100); } progress(100); echo '</body></html>'; // webkit hotfix