villiwalla
@villiwalla
HTML-верстка

Из-за чего загибается работа скрипта через CURL?

Есть скрипт, которым хочу в БД (mysql 5.7) записать ~67к записей, данные получают CURL`ом через API запросы. Данные по апи приходят 20 элементов на 1 страницу (на 1 запрос), всего 3371 страниц.

Вроде бы все ок, в цикле обходится полученный ответ от сервера по апи, "распарсенные" данные записываются в БД, после следующий запрос с указанием следующей страницы и т.д. Но при достижении где-то 19-20 страницы, скрипт перестаёт записывать данные в БД, словно подвисает.

Понимаю что проблема (ошибка) типовая и явно связана с тем, что где-то что-то забивается, как решить эту проблему на что обратить внимание?
Так выглядит офф. запрос к АПИ (это у меня в цикл завернуто):
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.dev/?include_null_first_air_dates=false&timezone=Europe%2FMoscow&page=1&sort_by=popularity.desc&language=ru-RU",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => "{}",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
  • Вопрос задан
  • 243 просмотра
Пригласить эксперта
Ответы на вопрос 2
zvermafia
@zvermafia
WebDev
Может просто есть лимит на время выполнения скирпта?!
Ответ написан
Комментировать
UmbrellaCoders
@UmbrellaCoders
PHP, JS Developer
запускайте скрипт в консоли, не браузером. логируйте события. так увидите где умирает скрипт.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
25 апр. 2024, в 20:02
100000 руб./за проект
25 апр. 2024, в 19:42
49000 руб./за проект
25 апр. 2024, в 19:41
2000 руб./за проект