PHP Несколько запросов cURL, лучшие предложения по производительности? - PullRequest
1 голос
/ 27 мая 2019

Я разбираюсь в PHP и программировании после долгого перерыва, но в настоящее время создаю свой собственный инструмент для некоторых бизнес-задач.

Иметь базовую настройку целевой страницы с формой, которая собирает информацию о потенциальных клиентах (имя, телефон, адрес, адрес электронной почты и т. Д.).

Введенные данные формы сохраняются в нашей базе данных (с использованием PHP), и затем мы публикуем запрос cURL для вызова API веб-службы, которой мы также отправляем эти данные.

Обратите внимание, что около 35% наших клиентов, сохраненных в базе данных, по какой-то причине не отображаются в этом веб-сервисе.Прошел несколько отведений в БД и по отдельности сделал запрос API-прокрутки, и на этот раз большинство пропущенных успешно прошло, так что это не проблема с самими данными.

Я думаюэто связано со сценарием, который мы связали с нашей формой целевой страницы и проблемами с производительностью.Читали на curl_multi_exec: https://webkul.com/blog/simultaneous-curl-requests-in-php/

Однако, это действительно поможет?Поскольку каждая отправка формы выполняется отдельно, поэтому все эти запросы выполняются в отдельных потоках.

Или лучше использовать , а не делать запрос API после каждой отправки отдельной формы, вместо этого устанавливайте задание cron каждые 2-3 часа, чтобы собирать интересы за последний час и выполнять пакетТогда запрос API к ним?

Также верно, что, поскольку каждая отправка формы и запрос скручивания являются отдельными, curl_close($curl); не следует добавлять в конце?

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

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => "https://APIURL/{$data}",
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => $xml
]);

$resp = curl_exec($curl);
$http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
...