Переделать Curl запрос на асинхронность (PHP) {мб multi curl}

Роман5 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
14.07.2020

Организуем запросы на API провайдера в цикле, вот таким образом:

$ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, 'https://'.$apiLink.'/v3/'.$d['domain'].'/messages');

 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

                        if ($d['proxy'] != NULL) {

                            curl_setopt($ch, CURLOPT_PROXY, $d['proxy']);

                            curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

                        }

                        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');

                        curl_setopt($ch, CURLOPT_USERPWD, 'api' . ':' . $apiKey);

                        curl_setopt($ch, CURLOPT_POSTFIELDS, $MailData);

                   

                        $result = curl_exec($ch);

Далее соответственно, получаем результат выполнения получаем и записываем в базу:

$status = 0;

$answer = 'ok';

 $result = json_decode($result, true);

if($result = ..) { $mysqli->query("UPDATE ... и тд }

Что нужно решить:

Проблема в том, что на каждый запрос у нас уходит 0.5 сек, так как тут цикл из 500 кругов, нам нужно чтобы запросы выполнялись раза в 3 быстрей, чтобы это успевалось 500 круглов цикла пройти за 1 минуту. Нужно переделать запросы на multi curl, чтобы не было прерываний и ожиданий ответа от каждого вызова или сделать иной на ваше усмотрения асинхрон, главное не усложнять и главное собирать ответы и писать в базу результат каждого ответа от АПИ, как есть и сейчас.

Пишите только те, кто готов поработать сегодня/сейчас.

Заявки фрилансеров