Вопрос к разработчикам. Как детектить зависшие браузеры Chromium?

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

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
951
Реакции
737
Баллы
93
У ZP при работе с Chromium есть серьезный баг - завасиние инстансов, верней создание браузеров, которые не используются ZP, а просто висят в Процессах и кушают память, это продолжается пока не перезапустить ZP.
Топик: https://zennolab.com/discussion/threads/zennoposter-7-7-4-chromium-ne-umirajut-instansy.114295/

Мой скрин:
111445

Было решено сделать костыль в виде убийцы процессов, но тут встал другой вопрос, как детектить эти процессы?
Проблема в том, что мы не можем убивать процессы по таймингу, так как они могу переиспользоваться рабочими проектами.
 
Я конечно не разработчик, но скажу так. В восьмерке этого бага не будет, ждите обновления
откуда информация? и еще вариант который так же сильно всех волнует, шаблоны придется переписывать?
 
Было решено сделать костыль в виде убийцы процессов, но тут встал другой вопрос, как детектить эти процессы?
Если решение свое, в начале работы шаблона при поднятии инстанса получаешь его Pid, заносишь куда-нибудь во внешнюю базу (ну или файлик). В конце работы - удаляешь его из базы. Отдельным решением отлавливаешь долго висящие "в работе" процессы, точечно их убиваешь.
Ну, это просто как предложение/костыль ))
 
Если решение свое, в начале работы шаблона при поднятии инстанса получаешь его Pid, заносишь куда-нибудь во внешнюю базу (ну или файлик). В конце работы - удаляешь его из базы. Отдельным решением отлавливаешь долго висящие "в работе" процессы, точечно их убиваешь.
Ну, это просто как предложение/костыль ))
Но зенка возвращает не пид инстансса - а его родителя- тоесть процеса заннопостер и получается что у всех инстансов одинаковый пид(( Или ткните носом - может не правильно что то делаю((
 
Но зенка возвращает не пид инстансса - а его родителя- тоесть процеса заннопостер и получается что у всех инстансов одинаковый пид(( Или ткните носом - может не правильно что то делаю((
C#:
Развернуть Свернуть Копировать
var pid = instance.FormTitle;
return pid;
Что отдает? Не у зенки пока, не проверить....

update: Добрался, проверил:
111463

ps. Ни на что не претендую, не исключено, что есть какие-то особенности. И не все так, как я могу себе представлять ))) Просто разговор зашел про pid )))
 
Последнее редактирование:
Может из коробки разрабы добавят просто "грох" зависших моментов.) Им вроде проще это сделать)
 
Продолжаем эксперимент )))
111464
Уже интереснее. Судя по всему, после завершения потока pid освобождается и может быть взят следующим потоком (здесь не всегда брался предыдущий, возможно, не успевало "базу отпустить").
Мне кажется, что работающий/зависший поток не должен освобождать pid для других, т.е., если будет 20 потоков - данные у них будут уникальные. Но на истину не претендую. Дальше уже только личные тесты )) Я чисто так, беседу поддержать )))
 
  • Оценить
Реакции: Dmitriy Ka
Продолжаем эксперимент )))
Уже интереснее. Судя по всему, после завершения потока pid освобождается и может быть взят следующим потоком (здесь не всегда брался предыдущий, возможно, не успевало "базу отпустить").
Мне кажется, что работающий/зависший поток не должен освобождать pid для других, т.е., если будет 20 потоков - данные у них будут уникальные. Но на истину не претендую. Дальше уже только личные тесты )) Я чисто так, беседу поддержать )))

У меня Pid instanca не совпадает с Pid процессов браузера
111469
 
О как интересно стало - браузер точно хромиум?
Правильный вопрос ))) Только сейчас до конца обратил внимание на название темы. ))
Нет, у меня тестился CEF (я в целом 95% задач до сих пор им решают, слишком уж сырой/нестабильный Хромиум). На момент тестов даже не подумал, что у Хромиума может быть другое поведение. Но теперь, думаю, что возможно. Надо копать дальше, смотреть, что еще можно получить ))) Ну либо смотреть, в какой момент поднимается инстанс. Может быть, немного логику поправить (в CEF простой шаб был, который просто запускался с автоматическим инстансом), посмотреть, в какой момент запрашивать данные.
Я тут скорее для "поучаствовать в поисках истины" влезал ))) Сам в хромиум так глубоко погружаться чего-то не хочу. Так что, звиняйте, если ввел в заблуждение и направление неверное ))
 
  • Оценить
Реакции: alex1988
Эксперименты привели к тому, что у меня instance Pid это Pid ProjectMaker.

Скрин:
1) - var pid = instance.FormTitle;
2) - процесс PM
3) - процессы браузера PM
111472
 

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