Про BadEnd

marazmatik

Client
Регистрация
24.01.2013
Сообщения
89
Благодарностей
8
Баллы
8
У меня один рабочий цикл длится пару часов. Я запускаю всего 1 выполнение скрипта. Скрипт работает с анкетой вконтакте. В случае BadEnd у меня как бы выводится лог о том что произошла ошибка на таком то действии и стрелка ведется опять в работу только со следующим ID. Так вот отсюда возник вопрос: 1. Во первых не всегда пишется в лог о том что ошибка произошла (например не найдет html элемент) 2. Не возвращается в работу следующий ID.
Т.е. по сути в zennoposter пишет Неуспехи подряд: 1 и все. В лог не пишется по BadEnd ничего и работа дальше не продолжается.
Может есть какой то встроенный лог файл где все это пишется что бы отследить почему работа не продолжается дальше.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
891
Баллы
113
Попробуйте сделать действия, которые могут вести к бедэнду необязательными. Ошибки не узнаете, но хоть проект не заклинит
 

marazmatik

Client
Регистрация
24.01.2013
Сообщения
89
Благодарностей
8
Баллы
8
Проблема в том что там несколько сотен действий. Еще заметил такую проблему, в логе работы потока написано: ЗенноПостер не удалось выполнить проект такой то... Хотя по логу вижу что закончилась та ветка удачная и самое последнее действие записи в лог тоже выполнено. Но зенно постере висит Неуспех.
Может есть делать BadEnd нужно обязательно делать GoodEnd?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Bad end выполняется только один раз. Может это имеете ввиду.
 

marazmatik

Client
Регистрация
24.01.2013
Сообщения
89
Благодарностей
8
Баллы
8
Да именно так, зациклить значит badend не получится.
 

marazmatik

Client
Регистрация
24.01.2013
Сообщения
89
Благодарностей
8
Баллы
8
А можно как то записать в какой конструкции произошел сбой?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Можно использовать код для сохранения данных о последней ошибке

Код:
var error = project.GetLastError();
var tmp = "";
if(error != null)
    tmp = string.Format("ActionComment: {0}.\r\nActionGroupId: {1}.\r\nActionId: {2}", error.ActionComment, error.ActionGroupId, error.ActionId);
  
return tmp;
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)