- Регистрация
- 03.12.2015
- Сообщения
- 138
- Благодарностей
- 41
- Баллы
- 28
таймауты в зенке все стоят и они стандартные меньше минуты, то инстанс почему то висит по 10-15 минутНа каком этапе происходит известно? Надо ставить таймауты на загрузку страниц. Так же можно ставить таймауты в зенке на выполнение проекта.
Добрый вечер. Может кто подскажет как избавится от зависания инстанса
Посмотреть вложение 48703
В таком состоянии висит бесконечно. В результате забиваются потоки и перестает шаблон работать
Точнее не бесконечно, а очень долго. Потом вроде перезапускается
Речь о таймауте для загрузки страниц. Выше на скрине смотрите.таймауты в зенке все стоят и они стандартные меньше минуты, то инстанс почему то висит по 10-15 минут
Я не думаю что это как-то связано с таймаутами, т.к. иногда инстансы закрыты, а потоки все равно заняты, чем заняты не понятно. Просто видно в зенке что висят потокиРечь о таймауте для загрузки страниц. Выше на скрине смотрите.
надо включить трассировку и проанализировать ход выполнения шаблонаЯ не думаю что это как-то связано с таймаутами, т.к. иногда инстансы закрыты, а потоки все равно заняты, чем заняты не понятно. Просто видно в зенке что висят потоки
то что потоки зависают, это обычное дело. главное понять где они зависают и как вывести логику в этом случае на BadEnd. тут 2 варианта. выводить в лог сообщения чуть ли не после каждого действия или анализировать трейсер.Если включить отображение инстансов, то видно, что вот так зависают потоки.
проанализировал, зависает на кубике с C# на 7 минутто что потоки зависают, это обычное дело. главное понять где они зависают и как вывести логику в этом случае на BadEnd. тут 2 варианта. выводить в лог сообщения чуть ли не после каждого действия или анализировать трейсер.
и что в кубике ? ха, чуть не написал - что в тазикепроанализировал, зависает на кубике с C# на 7 минут
Ниче не понятно, но очень интересно.когда инстанс крашиться, то любая команда обращающаяся к баузеру и его элементам будет выполняться как таймаут выполнения операции в инстансе. вернее она не будет выполняться, а будет вылетать по таймауту. минимальная настройка 1 минута. в цикле 20 раз может выполниться вот эта команда var he3 = tab.FindElementByAttribute("button", "type", "button", "regexp", 10); соответственно максимум зависона около 20 минут. если после этого кубик выходит по return null; и не уходит на BadEnd все может повториться и шаблон будет висеть ну очень долго.
как вариант проверять внутри цикла tab.IsVoid хотя помогает редко. у меня пока обнаружиться что вкладка пустая, могло уйти на несколько кубиков и каждый тупил по 5-10 минут.
еще есть вариант измерять время выполнения команды FindElementByAttribute . обычно она выполняется 0-1 миллисикунду. и если по результатам измерения будет больше 60 секунд , надо выходить из шаблона, так как клиент скорее мертв чем жив.
да если бы инстансы не крашились и этот метод нормНиче не понятно, но очень интересно.
Я этот скопировал где-то здесь на форуме, сам в с# не очень. Есть какой нибудь нормальный способ, ждать какое-то время пока загрузится элемент?
Добрый вечер.Добрый вечер. Может кто подскажет как избавится от зависания инстанса
Посмотреть вложение 48703
В таком состоянии висит бесконечно. В результате забиваются потоки и перестает шаблон работать
Точнее не бесконечно, а очень долго. Потом вроде перезапускается
Вооо, и у меня такая же дичь твориться. Причем до нового года были зависания, а во время праздников только пару раз зависало, и сегодня опять началось.
Я с вами ребята, мой кривой C# тоже периодически по 5 минут выполняется))проанализировал, зависает на кубике с C# на 7 минут
С логом который я вам писал в лс баг не поправили? Сделайте галочку, чтобы он сразу отображался как раньше, а не через танцы с бубном и переходом в другие вкладки и назадДобрый вечер.
Попробуйте перед переходом на страницу выполнять экшен Браузер - Настройки - Состояние занятости.
Посмотреть вложение 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> к примеру в открытой вкладке и при отссутствии - убивать поток?
ну, а я про что говорю? если команда не вернула хедер/вернула ошибку = грохнуть поток.не получит он никакого хеада. все команды в этом потоке то же зависнут. в памяти уже нет такого объекта как браузер и будет генерироваться исключение.
тут только мерять время выполнения команд которые взаимодействуют с браузером.
почему бы и нетну, а я про что говорю? если команда не вернула хедер/вернула ошибку = грохнуть поток.
это баг. я его где то видел даже в багтрекере. давно уже висит. но там нет про красную линию. можете подробно описать и оформить баг. это полезное дело для всех.Все было бы хорошо, если бы работала штука "ждать элемент не более" которая есть в кубике. Но она почему то не работает, если есть уход по красной линии
Если сделать так, то все норм, кубик будет ждать элемент 30 сек и завершиться с ошибкой если не найдет.это баг. я его где то видел даже в багтрекере. давно уже висит. но там нет про красную линию. можете подробно описать и оформить баг. это полезное дело для всех.
Ожидается исправление этой особенности.Если сделать так, то все норм, кубик будет ждать элемент 30 сек и завершиться с ошибкой если не найдет.
Посмотреть вложение 48769
а если так, то не будет ждать 30 сек, моментально завершается, если нет элемента
Посмотреть вложение 48770
создал тему в багтрекере. https://zennolab.com/discussion/threads/funkcija-zhdat-ehlement-ne-bolee-rabotaet-strannym-obrazom.72975/Если сделать так, то все норм, кубик будет ждать элемент 30 сек и завершиться с ошибкой если не найдет.
Посмотреть вложение 48769
а если так, то не будет ждать 30 сек, моментально завершается, если нет элемента
Посмотреть вложение 48770