我有一个php脚本,它从mysql数据库中查询客户端列表,然后转到每个客户端的IP地址并获取一些信息,然后显示在网页上。
但是,如果客户数太高,则需要很长时间。无论如何,我可以并行发送这些url请求(file_get_contents)吗?
答案 0 :(得分:2)
Lineke Kerckhoffs-Willems写了一篇关于Multithreading in PHP with CURL的好文章。您可以使用它代替file_get_contents()
来获取所需信息。
答案 1 :(得分:1)
我会使用Gearman之类的东西将它们作为队列中的作业分配给工作人员,如果需要扩展则完成。
作为另一种选择,我written a PHP wrapper也Unix at queue,这可能适合此问题。它允许您安排请求,以便它们可以并行运行。我过去成功使用过这种方法来处理批量电子邮件的发送,这封邮件与你的脚本有类似的阻塞问题。