Как написать асинхронный PHP-код - PullRequest
3 голосов
/ 05 ноября 2011

У меня есть код, который делает что-то вроде этого псевдокода:

Use CURL to get site1 into a variable
Use CURL to get site2 into a variable
Use CURL to get site3 into a variable
Use CURL to get site4 into a variable

Do lots of processing on each

Produce output

echo output

В настоящее время это занимает много времени.

Я бы хотел, чтобы бит CURL работал параллельно, чтобы ускорить процесс.

Как мне это сделать?

Ответы [ 3 ]

2 голосов
/ 05 ноября 2011

Я думаю, что вы ищете это http://php.net/manual/en/function.curl-multi-init.php параллельных запросов cURL.

1 голос
/ 05 ноября 2011

Насколько я знаю, php не поддерживает асинхронный ввод-вывод.

Но я могу порекомендовать Node.js, который его поддерживает, и в этом его преимущество. Дополнительным преимуществом Node.js является то, что вы можете использовать проверки формы на клиенте и на стороне сервера.

0 голосов
/ 07 ноября 2011

Просто для будущих людей, я на самом деле планирую перенести часть логики на клиент, а затем использовать AJAX для запроса файлов PHP с одним CURL в каждом файле.Таким образом, я могу запросить все файлы одновременно, а затем использовать JS, чтобы проанализировать и привести в порядок результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...