Зависает инстанс

  • Автор темы Автор темы vadim1281
  • Дата начала Дата начала

vadim1281

Client
Регистрация
03.12.2015
Сообщения
138
Реакции
41
Баллы
28
Добрый вечер. Может кто подскажет как избавится от зависания инстанса
48703
В таком состоянии висит бесконечно. В результате забиваются потоки и перестает шаблон работать
Точнее не бесконечно, а очень долго. Потом вроде перезапускается
 
Последнее редактирование:
На каком этапе происходит известно? Надо ставить таймауты на загрузку страниц. Так же можно ставить таймауты в зенке на выполнение проекта.
 
На каком этапе происходит известно? Надо ставить таймауты на загрузку страниц. Так же можно ставить таймауты в зенке на выполнение проекта.
таймауты в зенке все стоят и они стандартные меньше минуты, то инстанс почему то висит по 10-15 минут
 
Добрый вечер. Может кто подскажет как избавится от зависания инстанса
Посмотреть вложение 48703
В таком состоянии висит бесконечно. В результате забиваются потоки и перестает шаблон работать
Точнее не бесконечно, а очень долго. Потом вроде перезапускается
48704
48705
 
  • Оценить
Реакции: baracuda и Metrix
Вооо, и у меня такая же дичь твориться. Причем до нового года были зависания, а во время праздников только пару раз зависало, и сегодня опять началось.
 
Речь о таймауте для загрузки страниц. Выше на скрине смотрите.
Я не думаю что это как-то связано с таймаутами, т.к. иногда инстансы закрыты, а потоки все равно заняты, чем заняты не понятно. Просто видно в зенке что висят потоки
 
Я не думаю что это как-то связано с таймаутами, т.к. иногда инстансы закрыты, а потоки все равно заняты, чем заняты не понятно. Просто видно в зенке что висят потоки
надо включить трассировку и проанализировать ход выполнения шаблона
 
Если включить отображение инстансов, то видно, что вот так зависают потоки.
 

Вложения

  • Screenshot_3.jpg
    Screenshot_3.jpg
    25,7 KB · Просмотры: 167
Если включить отображение инстансов, то видно, что вот так зависают потоки.
то что потоки зависают, это обычное дело. главное понять где они зависают и как вывести логику в этом случае на BadEnd. тут 2 варианта. выводить в лог сообщения чуть ли не после каждого действия или анализировать трейсер.
 
  • Оценить
Реакции: vadim1281
то что потоки зависают, это обычное дело. главное понять где они зависают и как вывести логику в этом случае на BadEnd. тут 2 варианта. выводить в лог сообщения чуть ли не после каждого действия или анализировать трейсер.
проанализировал, зависает на кубике с C# на 7 минут
 
var tab = instance.ActiveTab;
for (int i=0; i<20; i++)
{
var he3 = tab.FindElementByAttribute("button", "type", "button", "regexp", 10);
if (!he3.IsVoid && he3.GetAttribute("height")!="0")
{
tab.Stop();
return "ok";
}
System.Threading.Thread.Sleep(500);
}
return null;


такой код, который ждет элемент
 
когда инстанс крашиться, то любая команда обращающаяся к баузеру и его элементам будет выполняться как таймаут выполнения операции в инстансе. вернее она не будет выполняться, а будет вылетать по таймауту. минимальная настройка 1 минута. в цикле 20 раз может выполниться вот эта команда var he3 = tab.FindElementByAttribute("button", "type", "button", "regexp", 10); соответственно максимум зависона около 20 минут. если после этого кубик выходит по return null; и не уходит на BadEnd все может повториться и шаблон будет висеть ну очень долго.
как вариант проверять внутри цикла tab.IsVoid хотя помогает редко. у меня пока обнаружиться что вкладка пустая, могло уйти на несколько кубиков и каждый тупил по 5-10 минут.
еще есть вариант измерять время выполнения команды FindElementByAttribute . обычно она выполняется 0-1 миллисикунду. и если по результатам измерения будет больше 60 секунд , надо выходить из шаблона, так как клиент скорее мертв чем жив.
 
  • Оценить
Реакции: irving zisman и sydoow
когда инстанс крашиться, то любая команда обращающаяся к баузеру и его элементам будет выполняться как таймаут выполнения операции в инстансе. вернее она не будет выполняться, а будет вылетать по таймауту. минимальная настройка 1 минута. в цикле 20 раз может выполниться вот эта команда var he3 = tab.FindElementByAttribute("button", "type", "button", "regexp", 10); соответственно максимум зависона около 20 минут. если после этого кубик выходит по return null; и не уходит на BadEnd все может повториться и шаблон будет висеть ну очень долго.
как вариант проверять внутри цикла tab.IsVoid хотя помогает редко. у меня пока обнаружиться что вкладка пустая, могло уйти на несколько кубиков и каждый тупил по 5-10 минут.
еще есть вариант измерять время выполнения команды FindElementByAttribute . обычно она выполняется 0-1 миллисикунду. и если по результатам измерения будет больше 60 секунд , надо выходить из шаблона, так как клиент скорее мертв чем жив.
Ниче не понятно, но очень интересно.
Я этот скопировал где-то здесь на форуме, сам в с# не очень. Есть какой нибудь нормальный способ, ждать какое-то время пока загрузится элемент?
 
Ниче не понятно, но очень интересно.
Я этот скопировал где-то здесь на форуме, сам в с# не очень. Есть какой нибудь нормальный способ, ждать какое-то время пока загрузится элемент?
да если бы инстансы не крашились и этот метод норм :)
в кубиках есть настройка ожидать элемент, но она не работает :bw:
поэтому либо городить кучу кубиков в цикле, либо кучу кода на C#
лучше на C# потому как когда инстанс упадет, кубик IF будет всегда выходить по красной :) да, да по кругу засада.
есть еще один метод, но он не на сейчас. это долбить разработчиков по устранению багов :)
 
  • Оценить
Реакции: vadim1281
Добрый вечер. Может кто подскажет как избавится от зависания инстанса
Посмотреть вложение 48703
В таком состоянии висит бесконечно. В результате забиваются потоки и перестает шаблон работать
Точнее не бесконечно, а очень долго. Потом вроде перезапускается
Добрый вечер.
Попробуйте перед переходом на страницу выполнять экшен Браузер - Настройки - Состояние занятости.

48713
 
Вооо, и у меня такая же дичь твориться. Причем до нового года были зависания, а во время праздников только пару раз зависало, и сегодня опять началось.
проанализировал, зависает на кубике с C# на 7 минут
Я с вами ребята, мой кривой C# тоже периодически по 5 минут выполняется))
 
Добрый вечер.
Попробуйте перед переходом на страницу выполнять экшен Браузер - Настройки - Состояние занятости.

Посмотреть вложение 48713
С логом который я вам писал в лс баг не поправили? Сделайте галочку, чтобы он сразу отображался как раньше, а не через танцы с бубном и переходом в другие вкладки и назад
 
когда инстанс крашиться, то любая команда обращающаяся к баузеру и его элементам будет выполняться как таймаут выполнения операции в инстансе. вернее она не будет выполняться, а будет вылетать по таймауту. минимальная настройка 1 минута. в цикле 20 раз может выполниться вот эта команда var he3 = tab.FindElementByAttribute("button", "type", "button", "regexp", 10); соответственно максимум зависона около 20 минут. если после этого кубик выходит по return null; и не уходит на BadEnd все может повториться и шаблон будет висеть ну очень долго.
как вариант проверять внутри цикла tab.IsVoid хотя помогает редко. у меня пока обнаружиться что вкладка пустая, могло уйти на несколько кубиков и каждый тупил по 5-10 минут.
еще есть вариант измерять время выполнения команды FindElementByAttribute . обычно она выполняется 0-1 миллисикунду. и если по результатам измерения будет больше 60 секунд , надо выходить из шаблона, так как клиент скорее мертв чем жив.

я правильно понимаю, что когда инстанс крашится, то даже активная страничка, где уже хтмл хоть частично загружен, будет не доступна?
то есть, мысль такая - повесить асинхронный метод, который будет проверять наличие <head> к примеру в открытой вкладке и при отссутствии - убивать поток?
 
я правильно понимаю, что когда инстанс крашится, то даже активная страничка, где уже хтмл хоть частично загружен, будет не доступна?
то есть, мысль такая - повесить асинхронный метод, который будет проверять наличие <head> к примеру в открытой вкладке и при отссутствии - убивать поток?
не получит он никакого хеада. все команды в этом потоке то же зависнут. в памяти уже нет такого объекта как браузер и будет генерироваться исключение.
тут только мерять время выполнения команд которые взаимодействуют с браузером.
 
не получит он никакого хеада. все команды в этом потоке то же зависнут. в памяти уже нет такого объекта как браузер и будет генерироваться исключение.
тут только мерять время выполнения команд которые взаимодействуют с браузером.
ну, а я про что говорю? если команда не вернула хедер/вернула ошибку = грохнуть поток.
 
Все было бы хорошо, если бы работала штука "ждать элемент не более" которая есть в кубике. Но она почему то не работает, если есть уход по красной линии
 
Все было бы хорошо, если бы работала штука "ждать элемент не более" которая есть в кубике. Но она почему то не работает, если есть уход по красной линии
это баг. я его где то видел даже в багтрекере. давно уже висит. но там нет про красную линию. можете подробно описать и оформить баг. это полезное дело для всех.
 
Я на одном шаблоне вылечил зависание убрав код C# из него заменив кубиками, пока не единого зависания.
 
это баг. я его где то видел даже в багтрекере. давно уже висит. но там нет про красную линию. можете подробно описать и оформить баг. это полезное дело для всех.
Если сделать так, то все норм, кубик будет ждать элемент 30 сек и завершиться с ошибкой если не найдет.
48769

а если так, то не будет ждать 30 сек, моментально завершается, если нет элемента

48770
 
Если сделать так, то все норм, кубик будет ждать элемент 30 сек и завершиться с ошибкой если не найдет.
Посмотреть вложение 48769

а если так, то не будет ждать 30 сек, моментально завершается, если нет элемента

Посмотреть вложение 48770
Ожидается исправление этой особенности.
Программисты в курсе.
 
Если сделать так, то все норм, кубик будет ждать элемент 30 сек и завершиться с ошибкой если не найдет.
Посмотреть вложение 48769

а если так, то не будет ждать 30 сек, моментально завершается, если нет элемента

Посмотреть вложение 48770
создал тему в багтрекере. https://zennolab.com/discussion/thr...ent-ne-bolee-rabotaet-strannym-obrazom.72975/
заходим и голосуем
 
А у меня зависают инстансы уже после загрузки страницы. В какой-то момент загруженная страница сайта просто фризится и все! Запускаю по 20 потоков и они постепенно выбывают из работы. В течение полутора часов - останавливаются в итоге 15-17 из 20. Временно помогает перезагрузка постера. и так на следующие полтора часа.
 

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