Отключите все лишнее на целевой странице если она одна, это реально сделать - например скрипты всяких фейсбуков, сторонней аналитики и так далее. Обычно сервесы используют много сторонних скриптов, которые не влияют на работу сайта, но сильно нагружают проц.
Смотрите как идет распределение нагрузки - возможно оно не сплашное, а пиками - тогда можно попробовать запускать потоки более равномерно. Чтоб избегать этих пиков.
Чаще всего можно отрисовку снизить вплоть до 10 (ну 20) .... На загрузку проца, это как раз сильно влияет.
Если сервер свой и без видюхи, то стоит поставить в него видюху.
50 в нынешних условиях для баса с браузером, достаточно много. Можно попробовать разбить на несколько копий баса по 25 например.
Можно использовать рам диск для работы с профилями - но это уже продвинутый уровень.
Критический баг в BAS / Наследует старые переменные-профили и игнорирует многие действия (при этом продолжая "работать")
-
В BAS есть несколько способов сброса - профили, restart браузера, создание нового потока и т.д.
Но всё это страшно нагружает CPU как известно.
Кроме того под некоторые задачи смена браузера(или профиля) в принципе не нужна, достаточно бесконечного цикла и действий внутри него.Я вывел для себя простую схему сброса через настройки хрома - chrome://settings/clearBrowserData.
Когда простой чистки fingerprint и cookie недостаточно, потому что некоторые сайты используют local storage например в том числе.Но проблема в том, что часто возникает баг спустя какое-то время:
- Допустим у нас есть два совершенно разных проекта.
- Оба работают какое-то время.
- Потом возникает в логе ошибка, что какой-то элемент не найден к примеру, а у нас для обработки ошибок установлен заранее manual, чтобы посмотреть из-за чего ошибка к примеру.
- (BAG) Открываем браузер и видим, что там профиль и сессия из ДРУГОГО проекта или из этого же, но другого ПОТОКА.
- (BAG) Либо открываем браузер, а BAS просто висит на странице и с элементами взаимодействие невозможно.
К сожалению отследить это и как-то понять, осознать и пофиксить - не представляется возможным, так как сама природа этого бага мне непонятна.
Но на днях я нашёл способ как 100% вызвать этот(или возможно ещё другой схожий баг) в BAS.
Симптомы очень схожи, поэтому возможно что это он и есть:- Достаточно создать действие manual browser где-нибудь и загрузить через него файл в форме на любом сайте.
- (BAG) После чего многие действия перестанут работать: смена Proxy; смена Fingerprint; обновление переменных вроде как работает, но если подставить их в Execute - действие проигнорируется и т.д.

Файл проекта для демонстрации бага: bas_profile_and_actions_bag.xmlСобственно вопрос: Как почистить браузер максимально близко к изначальному без рестарта браузера, без смены профиля, без нового потока и без этого бага?
-
@denispetrov Ваш скрипт создан на 25.5.0 версии BAS, на данный момент последняя версия BAS 26.3.0. Проверяли ли вы работу вашего скрипта в последней версии?
Но на днях я нашёл способ как 100% вызвать этот(или возможно ещё другой схожий баг) в BAS.
Симптомы очень схожи, поэтому возможно что это он и есть:Достаточно создать действие manual browser где-нибудь и загрузить через него файл в форме на любом сайте.
(BAG) После чего многие действия перестанут работать: смена Proxy; смена Fingerprint; обновление переменных вроде как работает, но если подставить их в Execute - действие проигнорируется и т.д.Проверил в 26.3.0 версии, после указания файла на сайте в режиме ручного управления все последующие действия работают корректно
-
@denispetrov said in Критический баг в BAS / Наследует старые переменные-профили и игнорирует многие действия (при этом продолжая "работать"):
@Fox благодарю за оперативный ответ.
проверил в крайней версии BAS:
- Проблема смены Proxy решилась
- (BAG) Execute on every page действие не применилось и BAS его проигнорировал, наследовав вариант до загрузки файла в мануале
После перехода на другую версию BAS вы обновили все действия в проекте?
-
@denispetrov said in Критический баг в BAS / Наследует старые переменные-профили и игнорирует многие действия (при этом продолжая "работать"):
(BAG) Execute on every page действие не применилось и BAS его проигнорировал, наследовав вариант до загрузки файла в мануале
Как можно повторить эту проблему намерено? Отдельно только её
-
@Fox пока я только нашёл единственный способ воспроизвести баг намеренно через загрузку файла в любую форму через действие Manual в BAS
в случае успеха(если проигнорировать загрузку файла в мануал) должно вывести:
[511309941] [00:53:23] Thread #1 : ТЕСТ 1 ПРОЙДЕН [547091972] [00:53:25] Thread #1 : ТЕСТ 2 ПРОЙДЕНв случае бага(если загрузить файл через мануал) выведет старое действие Execute соответственно:
[511309941] [00:53:47] Thread #1 : ТЕСТ 1 ПРОЙДЕН [547091972] [00:53:50] Thread #1 : ТЕСТ 1 ПРОЙДЕНфайл: bas_problem_execute.xml
-
@denispetrov said in Критический баг в BAS / Наследует старые переменные-профили и игнорирует многие действия (при этом продолжая "работать"):
@Fox пока я только нашёл единственный способ воспроизвести баг намеренно через загрузку файла в любую форму через действие Manual в BAS
в случае успеха(если проигнорировать загрузку файла в мануал) должно вывести:
[511309941] [00:53:23] Thread #1 : ТЕСТ 1 ПРОЙДЕН [547091972] [00:53:25] Thread #1 : ТЕСТ 2 ПРОЙДЕНв случае бага(если загрузить файл через мануал) выведет старое действие Execute соответственно:
[511309941] [00:53:47] Thread #1 : ТЕСТ 1 ПРОЙДЕН [547091972] [00:53:50] Thread #1 : ТЕСТ 1 ПРОЙДЕНфайл: bas_problem_execute.xml
Спасибо за описание проблемы и тестовый скрипт, проблему воспроизвёл и передал разработчику. Остальные проблемы из вашего первого сообщения присутствуют в 26.3.0 версии BAS?
-
@Fox благодарю со содействие!
к сожалению, как и сказал, определить точно, что именно вызывало баг практически невозможно, возможно что проблема была где-то в реализации взаимодействия между БАС и браузером, я попробую отключить принудительный Рестарт и вновь запустить проекты уже на новом БАСЕ, возможно ошибка и не всплывёт, если бы она возникала 100% - я бы с радостью поделился информацией, но увы, она всегда возникала спонтанно
по моим наблюдениям и насколько я знаю, БАС создаёт профили рандомно и с проверкой, т.е. вариант что двум разным потокам или проектам присвоется одинаковый воркер - исключен
если это утверждение верно, значит то что я обнаружил с мануалом может быть связано и с корнем тех проблемпоэтому я очень надеюсь, что их удастся решить по "цепной реакции", так сказать, если и в новой версии они всё ещё присутствуют конечно
-
Есть вариант обходного пути, создавать все таки каждый раз новый временный профиль.
Можно создавать на RAM диске, чтобы работало быстрее.Можно заранее создать образ(папка) чистого профиля и копировать его с места на место.
Я так делал, работало это быстро и стабильно.
-
-
-
Использую ImDisk. Легкий и бесплатный.
-
@Fox
до сегодняшнего дня использовал стандартную настройку с временными профайлами, каждый профайл - 52-57 мегабайт
сегодня сделал виртуальный диск из RAM - каждый профайл туда пишется 2,5MB - разница в 20 раз меньше
тестово сделал разок писать профайлы не в RAM диск а на флешку - также как и раньше - 57MB
т.е. почемуто в рам диск пишутся профайлы в десятки раз меньше с того же проекта.
почему? может оно должно именно так и работать но работает только почему-то на РАМ дисках, а может наоборот что-то нужное не дописывается в профайлы на РАМ
вобщем больше вопросов чем ответов
а так то конечно сразу видно полегче басу стало - и оперативка не перегружается так сильно и работает шустрее, посмотрю еще что с траффом может за сутки и он уменьшится теперь)
но что-то тут явно "не чисто"), или бас тупит в стандартных своих настроках, не может быть такой разницы только от смены диска для профайлов -
@basuser123
Насколько я понял вы имеете ввиду просто профили? Или именно временные профили?

