Как увеличить время, затрачиваемое на выполнение задачи?

Как можно устранить ошибку в скрипте, который останавливается при проходе пятого цикла из-за защиты сервера?


1368
Fatal error: Uncaught Error: Call to a member function find() on boolean in C:\OSPanel\domains\pars\index.php:27 Stack trace: #0 {main} thrown in C:\OSPanel\domains\pars\index.php on line 27

<?php
require_once('simple_html_dom.php'); //Библиотека для парсинга
require_once('curl_query.php'); //парсинг
require_once('model.php'); //функционал
require('db.php'); //база данных

// Запрос к базе
$query = "SELECT * FROM seria";
$result = $mysql->query($query);

// Вытащить все из базы в массив
while ($row = $result->fetch_assoc()) {
  $id[] = $row["id"];
  $silka[] = $row["silka"]; 
  $series[] = $row["series"];
};

$count = count($id); 

for ($i = 0; $i < $count; $i++){
  $html =  curl_get($silka[$i]); //ссылка на сериал
  $dom = str_get_html($html); //парсить страницу
  $finds = $dom->find('.added-info'); 

  foreach ($finds as $find){
    $tfind = trim($find->plaintext);

    if ($series[$i] === $tfind){
      echo $id[$i];
      sleep(5);
    }
    else {
      $sql = "UPDATE `seria` SET `series` = '$tfind' WHERE `seria`.`id` = $id[$i]";
      $mysql->query($sql);
      message_to_telegram("Вышла новая серия".$series[$i].$silka[$i]);
      echo $id[$i];
    };
  };
};
  • 13 ноября 2023 г. 15:12
Ответы на вопрос 3
Чтобы увеличить время, затрачиваемое на выполнение задачи, можно использовать функцию `sleep()` для добавления паузы между итерациями цикла. Например, в данном случае после каждой итерации цикла можно добавить паузу в 5 секунд:

```php
for ($i = 0; $i < $count; $i++){
  // код выполнения задачи

  sleep(5); // добавляем паузу в 5 секунд
};
```

Однако, если скрипт останавливается при проходе пятого цикла из-за защиты сервера, это может быть связано с ограничениями сервера или проблемами с соединением. В таком случае, рекомендуется обратиться к администратору сервера для выяснения причины проблемы и ее устранения.
usleep(250000) 
 Задержка на 0,25 секунды.
Похожие вопросы