Запись последнего экшна

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
Как сделать запись последнего экшна на котором может циклиться либо зависать проект, если я принидительно захочу его остановить???
Мне нужно получить информацию для отладки.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 075
Благодарностей
8 960
Баллы
113
Как сделать запись последнего экшна на котором может циклиться либо зависать проект, если я принидительно захочу его остановить???
Мне нужно получить информацию для отладки.
перед экшеном делать запись в файл отладочной информации..
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
То есть перед каждым экшном писать значение шага в переменную, и при логическом бэдэнд номер переменной в список?? 0_0
Или может быть есть хитрая схема получить id действия при прерывании потоков в ЗП?
Есть потоки, которые вешаются (ходят в цикле) хотелось бы их убить и понять на каком ид действия.
То есть при прерывании потока писать последний ид действия.

Нашел такой пример
https://help.zennolab.com/en/v5/zennoposter/5.9/ZennoLab.InterfacesLibrary~ZennoLab.InterfacesLibrary.ProjectModel.IZennoPosterProjectModel~GetLastError.html
Код:
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;
Прервать поток, и в бэдэнд указать сниппет и запись в список переменной tmp - это путь к истине? :-)
 

rostonix

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

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
GetlastError это штука, которую хорошо вешать на Bad end для получения информации на каком экшене упал проект. Ее можно сохранить в отдельный лог файл для личного анализа
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
Если потоки вешаются по причине зависа инстанса, то оттуда уже ничего не заберешь.
Если по вине кода вашего и бесконечных циклов тоже.
а если я убиваю потоки? принудительно через ZP

выполняется ли бэдэнд при принудительном прерывании потоков в ZP
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
Как вы их убиваете?
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
Кнопкой в ZP "Прервать". "Остановить" я так понимаю запрещает запускать новые, но дает завершить старые потоки.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
В этом случае никакой информации получить нельзя
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
В этом случае никакой информации получить нельзя
Можно ли в предложения внести и реализовать, запись ид экшена, а потом принудительное завершение (через метод или настройки).
Как правило принудительно убиваю потоки по причине зацикливания или непредсказуемых действий (умирает прокся, шаблон ходит по кругу)
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 884
Баллы
113
Тут проще перестроить логику шаблона, чтобы он не зацикливался.
Что должна понять программа? Что она выполняет однотипные действия? Но ведь это Вы её так настроили..
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
Можно ли в предложения внести и реализовать, запись ид экшена, а потом принудительное завершение (через метод или настройки).
Как правило принудительно убиваю потоки по причине зацикливания или непредсказуемых действий (умирает прокся, шаблон ходит по кругу)
Не вижу в этом смысла. Если у вас шаблон попал в бесконечный цикл то это косяк шаблона. В текстовых логах можно увидеть что он делает, как вариант. Чтобы исправить это.
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
Не вижу в этом смысла. Если у вас шаблон попал в бесконечный цикл то это косяк шаблона. В текстовых логах можно увидеть что он делает, как вариант. Чтобы исправить это.
Подскажите, где текстовые логи.
Проблема в прокси, которые могут по ходу выполнения внезапно отвалиться. Нужно в таком случае найти рабочий и вернуться на тот же шаг, который выполнялся последним. Вопрос: как?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
C:\Program Files (x86)\ZennoLab\ZennoPoster Pro\Progs\Logs
 
  • Спасибо
Реакции: bpunk

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
Текущий ид при просмотре инстанса можно выдавать хотябы? с возможностью копирования..
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
Тут проще перестроить логику шаблона, чтобы он не зацикливался.
Что должна понять программа? Что она выполняет однотипные действия? Но ведь это Вы её так настроили..
Программа ничего не должна понять, просто если посылается KillTask записать перед этим id экшна. Редко просто так потоки убивают..
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
Планируем изменение логов, когд для каждого шаблона логи можно будет писать в отдельную папку. Там можно будет получить больше информации
 

bhairava7

Client
Регистрация
18.08.2015
Сообщения
154
Благодарностей
15
Баллы
18
Проблема в прокси, которые могут по ходу выполнения внезапно отвалиться. Нужно в таком случае найти рабочий и вернуться на тот же шаг, который выполнялся последним. Вопрос: как?
А не проще после каждого важного этапа загрузки страницы проверять загруженность страницы, и в случае не успеха перекидывать ветку на взятие нового прокси?
Я делаю теперь во всех шаблонах так и никаких ошибок не возникает больше с отвалившимися проксями.
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
А не проще после каждого важного этапа загрузки страницы проверять загруженность страницы, и в случае не успеха перекидывать ветку на взятие нового прокси?
Я делаю теперь во всех шаблонах так и никаких ошибок не возникает больше с отвалившимися проксями.
у меня таких проверок 5 во всем шаблоне. нет не проще. Прокси мог быть рабочим и отвалится через мгновение, а дальше что?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 712
Баллы
113
Ужасные прокси у вас какие )
Тогда храните данные в той же таблице где и данные аккаунтов об этапе выполнения. и типа по bad end записывайте в конец откуда начать новое выполнение, например
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
Ужасные прокси у вас какие )
Тогда храните данные в той же таблице где и данные аккаунтов об этапе выполнения. и типа по bad end записывайте в конец откуда начать новое выполнение, например
Равно как и минусы у них есть и плюсы - прокси юзеров домашних ПК :D
 

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