PHP+MySQL实现消息队列的方法分析
本篇章节讲授PHP+MySQL实现动静行列的要领。分享给各人供各人参考,详细如下: 最近碰着一个批量发送短信的需求,短信接口是第三方提供的。刚开始想到,获取得手机号之后,轮回挪用接口发送不就可以了吗? 但很快发明题目:当短信数目很大时,不只耗时,并且乐成率很低。 于是想到,用PHP和MySQL实现一个动静行列,一条一条的发送短信。下面先容详细的实现要领: 起首,成立一个数据表sms,包括以下字段:
将必要发送的短信和手机号存入sms表中。 接下来,必要用PHP实现一个按时器,按时读取一笔记录,并发送短信: getFirstRecord(); //获取数据表第一笔记录 if(!$item){ //假如行列中没稀有据,则竣事按时器 break; } $res = $sms->send($item['phone'],$item['content']); //发送短信 if($res){ $db->deleteFristRecord(); //删除发送乐成的记录 echo $item['phone'].'发送乐成'; }else{ echo $item['phone'].'发送失败,稍后继承实行'; } sleep(10); //每隔十秒轮回一次 } echo '发送完毕!'; ?>将代码生涯为timer_sms.php,打开呼吁行,执行按时器: 好了,php按时器将会按照设定的时距离断(这里设的是10秒),自动完成发送短信的使命。使命完成后将自动退出按时器,不再占用处事器资源。 按照我的测试,PHP按时器占用资源并不多,不会对处事器造成压力。并且是异步会见数据库,也不会影响数据库的运行。 这种方法的利益是:1、靠山运行,前台无需守候 2、乐成率高,失败的记录会自动重发,直到乐成 更多关于PHP相干内容感乐趣的读者可查察本站专题:《》、《》、《》、《》、《》及《》 但愿本文所述对各人PHP措施计划有所辅佐。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |