如果直接写PHP代码执行,肯定会超时。要怎么实现好一点呢?有什么好的思路吗?
###php 有cli模式你可以了解一下,这个是不会超时的,你可以看一下.你异步处理可以使用redis做一个小的消息队列.一个脚本不断读取redis某个list,当你需要发小程序消息是你就塞一个消息放在list里,消费者读到这个消息就发送这1万条数据
###有两个办法
1.你写个php脚本里面使用函数ignore_user_abort()
、set_time_limit(0)
这两个函数忽略页面结束和一直持续到程序结束,然后把你执行的东西放到这个文件就行。不过这个有个弊端你做好防重复发的验证以及随时中止的准备,很容易重复发送(小程序订阅消息应该不存在这个问题,因为一次订阅就能发一次)
2.用php-cli执行,每次从数据库读取一些数据,处理一定量数据,把处理完的这些数据设为已处理,再重新调用command命令执行下一次,这个方法安全可靠,而且不占用你的应用程序。