月归档:2011 年十一月

队列执行效率

一个队列memcacheq存储待发送的短信,计划任务每分钟一次取100条下发,如果一分钟内未执行完毕,下次又取100条下发,如此,内存占用升高,这也是小事,好像也费不了多少内存。但是对调用移动接口下发短信的接口造成压力,一般下发接口可能做了请求频率限制,这样导致大量短信发送失败,还得想办法再插入到队列重发。改善方法:用memcache设置一个标识,开始下发时表示有下发任务,下个请求来了取该标识是否为有任务状态,没有就设置标识为有任务,然后从队列取。就是有锁直接退出,无锁就加锁干活,干完活解锁。恩,用memcache存临时性标识确实挺好的,不能只局限于想着单独的存一坨结果集什么的。

发表在 Php | 标签为 , | 留下评论