Разные результаты при отладке и когда нет точек останова - PullRequest
0 голосов
/ 12 января 2020

WordPress 5.3.2

Отладка с помощью Xdebug.

Это моя вспомогательная функция для заполнения пустой базы данных. День за днем ​​я запрашиваю данные с удаленного сервера /

   function _request_currencies_for_period(){
        $end = new DateTime('now');
        $begin = $end->modify('-1 year');

        $requests_counter = 0;

        for($i = $begin; $i <= $end; $i->modify('+1 day')){
            $date = $i->format('d/m/Y');
            $requrl = 'http://www.cbr.ru/scripts/XML_daily.asp/?date_req=' . (string)$date;

            $raw_data = false;

            $result = 'fail';

            while ('fail' == $result) {
                $raw_data = wp_remote_get($requrl);
                $requests_counter +=1;
                if (!is_wp_error($raw_data)) { // Если WP_Error, значит, сайт Центробанка не отвечает на запрос.
                    $currency_data = $this->select_currency_rate($raw_data);
                    $this->write_data($date = $currency_data["date"], $currency_data = $currency_data["currencies"]);
                    $result = 'success';
                }
                error_log ($message =  "$requests_counter : $i->date : $result \n",
                           $message_type = 3,
                           $destination = get_home_path() . "log/ved_currencies_cbr_requests.log" );
                sleep ( $seconds=3 );
            }
        }
    }

ved_currencies_cbr_requests.log

1 : 2019-01-12 09:57:05.669818 : success 
2 : 2019-01-13 09:57:05.669818 : success 
3 : 2019-01-14 09:57:05.669818 : success 
4 : 2019-01-15 09:57:05.669818 : success 
5 : 2019-01-16 09:57:05.669818 : success 
6 : 2019-01-17 09:57:05.669818 : success 
7 : 2019-01-18 09:57:05.669818 : success 
8 : 2019-01-19 09:57:05.669818 : success 
9 : 2019-01-20 09:57:05.669818 : success 
10 : 2019-01-21 09:57:05.669818 : success 
11 : 2019-01-22 09:57:05.669818 : success 
12 : 2019-01-23 09:57:05.669818 : success 
13 : 2019-01-24 09:57:05.669818 : success 
14 : 2019-01-25 09:57:05.669818 : success 
15 : 2019-01-26 09:57:05.669818 : success 
16 : 2019-01-26 09:57:05.669818 : success 
17 : 2019-01-26 09:57:05.669818 : success 
18 : 2019-01-26 09:57:05.669818 : success 
19 : 2019-01-26 09:57:05.669818 : success 

Проблема: на 15-й итерации я удалил точку останова. То есть я поставил точку останова в цикле и прошел по коду. Это сработало, я остался доволен и решил возобновить процесс без остановки. Сразу запросы были на одну и ту же дату. По крайней мере, в журнале дата совпадает. Я не знаю, в чем причина такого поведения. И как его отладить, если в точке останова все выглядит нормально.

Не могли бы вы помочь мне локализовать проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...