php中是否有某种线程可用?

时间:2011-07-28 14:06:26

标签: php multithreading file-get-contents

我有一个php脚本,它从mysql数据库中查询客户端列表,然后转到每个客户端的IP地址并获取一些信息,然后显示在网页上。

但是,如果客户数太高,则需要很长时间。无论如何,我可以并行发送这些url请求(file_get_contents)吗?

2 个答案:

答案 0 :(得分:2)

Lineke Kerckhoffs-Willems写了一篇关于Multithreading in PHP with CURL的好文章。您可以使用它代替file_get_contents()来获取所需信息。

答案 1 :(得分:1)

我会使用Gearman之类的东西将它们作为队列中的作业分配给工作人员,如果需要扩展则完成。

作为另一种选择,我written a PHP wrapperUnix at queue,这可能适合此问题。它允许您安排请求,以便它们可以并行运行。我过去成功使用过这种方法来处理批量电子邮件的发送,这封邮件与你的脚本有类似的阻塞问题。