1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Как узнать где произошла ошибка, вывод информации об ошибке.

Тема в разделе "Техническая поддержка", создана пользователем malexoid, 14 апр 2016.

  1. malexoid

    malexoid A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    7 сен 2015
    Сообщения:
    256
    Симпатии:
    60
    Столкнулся с такой проблемой, что при ошибке в коде, результат не возвращается и сообщение об ошибке не выводится и нигде не логируется и узнать, что где-то произошла ошибка, можно только случайно.

    Например, при работе парсера linkExtractor при определенных обстоятельства возникает ошибка в коде result format, об этой ошибке нигде не сообщается, узнал о ней случайно не найдя нужных данных в результате работы.

    Собственно вопрос: что делать? а если код сложный и его много? и парсеров несколько?
     
  2. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.547
    Симпатии:
    2.164
    В А-Парсере есть три инструмента для отладки и тестирования: Тестирование шаблонов, Тестовый парсинг и Тест задания. Пользуйтесь ими для составления правильных шаблонов и заданий.
    Кроме этого, многое зависит от вашего задания и требований к результату. Как вариант, используйте IF...ELSE...END для проверки полученного результата и вывода результата.
     
  3. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    приведи конкретный пример, вообще множество ошибок в настройках отслеживаются при добавлении и при старте задания
     
  4. malexoid

    malexoid A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    7 сен 2015
    Сообщения:
    256
    Симпатии:
    60
    зашел сюда http://a-parser.com/threads/1711/#post-5170
    взял код для импорта, посмотрел, запустил. Вроде работает.
    но как потом оказалась в карту сайта не попадают урлы для которых сервер возвращает last modified time. Выяснилось, что участок кода
    Код:
    [% USE date;calc = date.calc;Dd = calc.Delta_Days(lmYear,m,lmDay, date.format(date.now, '%Y'),date.format(date.now, '%m'),date.format(date.now, '%d')) %][% IF Dd == 0 %]hourly[% END %][% IF Dd == 1 %]daily[% END %][% IF Dd > 1 and Dd < 30 %]weekly[% END %][% IF Dd >= 30 and Dd < 365 %]monthly[% END %][% IF Dd >= 365 %]yearly[% END %]</changefreq>[% END %]
    
    не выполняется, т.к у меня нет calc
    The calc() method can be used to create an interface to the Date::Calcmodule (if installed on your system).

    хорошо бы в интерфейсе выводить сообщение об ошибке
     

Поделиться этой страницей