Есть ли какая-то многопоточность в php? - PullRequest
2 голосов
/ 28 июля 2011

У меня есть скрипт php, который запрашивает список клиентов из базы данных mysql, переходит на IP-адрес каждого клиента и собирает некоторую информацию, которая затем отображается на веб-странице.

Но для этого требуетсядолгое время, если количество клиентов слишком велико.В любом случае, я могу отправлять эти URL-запросы (file_get_contents) параллельно?

Ответы [ 2 ]

2 голосов
/ 28 июля 2011

Линеке Керкхоффс-Виллемс написал хорошую статью о Многопоточности в PHP с CURL .Вы можете использовать это вместо file_get_contents() для получения необходимой информации.

1 голос
/ 28 июля 2011

Я бы использовал что-то вроде Gearman , чтобы назначить их в качестве заданий в очереди для рабочих, чтобы они приходили и выполняли, если это необходимо масштабировать.

В качестве другого варианта у меня также есть написал оболочку PHP для Unix в очереди , что может подойти для этой проблемы.Это позволит вам запланировать запросы так, чтобы они могли работать параллельно.В прошлом я успешно использовал этот метод для обработки массовой рассылки электронной почты, которая имеет аналогичные проблемы с блокировкой в ​​вашем скрипте.

...