Как написать асинхронный PHP-код


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

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 работал параллельно, чтобы я мог ускорить процесс.

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

Author: Madara Uchiha, 2011-11-05

3 answers

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

 2
Author: Imran Naqvi, 2011-11-05 19:54:14

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

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

 1
Author: Jakob Alexander Eichler, 2011-11-05 19:31:12

Просто для будущих людей я на самом деле планирую перенести часть логики на клиент, а затем использовать AJAX для запроса PHP-файлов с одним ЗАВИТКОМ в каждом файле. Таким образом, я могу запросить все файлы сразу, а затем использовать JS для анализа и приведения в порядок результатов.

 0
Author: Rich Bradshaw, 2011-11-07 10:22:27