elf*_*984 13 php mysql codeigniter codeigniter-2
我有大约50,000个手机号码.我正在尝试使用第三方API处理并向这些号码发送批量短信,但浏览器会冻结几分钟.我正在寻找更好的选择.
数据处理涉及检查移动号码类型(例如CDMA),为所有号码分配唯一ID以便进一步参考,检查网络/国家独特费用等.
我想在数据库中排队数据并使用cron每分钟批量发送大约5k,但如果有很多消息则需要时间.我还有什么其他选择?
我在XAMPP服务器上使用Codeigniter 2.
Chr*_*ian 37
我会写两个脚本:
档案index.php:
<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>
Run Code Online (Sandbox Code Playgroud)
档案job.php:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13057 次 |
| 最近记录: |