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
запускайте скрипт в консоли, не браузером. логируйте события. так увидите где умирает скрипт.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы