我正在编写一些处理项目队列的代码。它的工作方式是这样的:如何打开多个套接字连接并在PHP中执行回调
- 获得下一个项目标记为需要 从MySQL的 数据库行处理。
- 使用Curl从google API 请求一些信息,等到信息返回时返回 。
- 根据返回的信息执行处理 的其余部分。
- 将项目标记为在 db中处理,移至下一项。
问题是,在第2步。谷歌有时需要10-15秒才能返回请求的信息,在此期间我的脚本必须保持停止并等待。
我想知道如果我可以改变代码来执行,而不是执行以下操作:
- 得到下一个5个项目要处理 如常。
- 索取信息从 项目1-5的谷歌,一个接一个。
- 当第1项的信息是 回来了,一个“回调”应该是 做它调用一个函数或 否则调用一些代码,然后 做处理 对项目1-5的剩余部分。
- 然后脚本从 开始,直到db中的所有待处理项目都标记为 已处理。
怎么能这样做呢?