Все уже не надо,нашел.Спасибо
Помогите с логикой.
-
@xclsv said in Помогите с логикой.:
@Fox
Подскажи нам, плз, как взаимодействуют дефолт и ожидание полной загрузки страницы.В BAS есть два вида таймаута, общий:

он действует на все экшены.
И индивидуальный:

Я бы посоветовал установить общий таймаут на 3200000 и попробовать выполнить алгоритм совсем без прокси.
-
-
@fastspace said in Помогите с логикой.:
Воспроизвел Ваш участок скрипта. При выполняемых действиях в переменную LAST_ERROR упало "Не удалось загрузить страницу youtube.com". Анимация загрузки, которую Вы видите - результат выполнения предыдущей итерации рекурсии. Новый запрос не выполнился.
-
@fastspace said in Помогите с логикой.:
@xclsv Как мне сбросить старый запрос и сделать новый уже без ошибки?
Запрос нельзя сбросить, т.к. действия по нему уже совершены.
Выполнить запрос через другой прокси-сервер, либо воздержаться от его использования совсем.
Ещё можете попробовать добавить задержку между итерациями. -
@fastspace said in Помогите с логикой.:
Другой прокси сервер не вариант. У меня строгая привязка 1 аккаунт - 1 прокси.
К сожалению, проблемы прокси средствами bas решить не удастся.
-
@fastspace said in Помогите с логикой.:
@xclsv Я как-то давно гонял другой шаблон и там не было такой проблемы. Повторно всё грузилось без ошибок, жаль у меня не осталось этого шаблона.
Возможно, прокси был другой.
-
-
@fox У меня домашний IP не медленный, поэтому создать такую ситуацию на 100% не могу.
Что сделал: Установил таймаут в 5 секунд. В итоге ситуация номер 2, когда скрипт при повторной загрузке не дожидается окончания действия загрузки и едет дальше. -
@fastspace said in Помогите с логикой.:
но страница грузится
Это результат выполнения предыдущей итерации рекурсии.
Вы используете медленный прокси. Делаете запрос к серверу. Ждёте по таймауту и выполняете новый запрос до окончания выполнения предыдущего. Прокси бреет вас. В это время предыдущий запрос продолжает выполняться, результат его выполнения вы и видите на экране.
Это легко проверяется, если воспроизводить действия поэтапно.Это нормальная ситуация при работе с объемными запросами в обычном браузере. В бас это должно работать как-то иначе?
-
@fastspace said in Помогите с логикой.:
@xclsv Если ставить дефолтное ожидание, то всё работает как надо.
Наличие ограниченного ожидания лишь регулирует лимит ожидания полной загрузки страницы, но не отменяет продолжение получения ответа сервера и компиляцию данных в браузере.
-
@xclsv Хорошо, как мне тогда дождаться окончания выполнения предыдущего запроса и сделать новый? Я просто тогда таймауйт действие могу установить именно в тот момент когда прошлый запрос должен был оборваться. От чего это зависит? Это сам сервер устанавливает свой таймаут подключения к нему?