Помогите с логикой.

Поддержка
  • Кароче нифига не работает, мне индвидуального мало для медленного прокси. Нужно больше 60 сек.
    Шас попробую как сказал Fox ставить общий на большое значение. При повторной загрузки такое ощущение, что прошлое не сбросилось.

  • Шас кароче видео запишу, я в шоке инструмент не может загрузить повторно страницу.

  • @fastspace Пробовали поставить сброс перед переходом к метке друзья?

  • @fastspace said in Помогите с логикой.:

    Видео с комментариями.

    Воспроизвел Ваш участок скрипта. При выполняемых действиях в переменную LAST_ERROR упало "Не удалось загрузить страницу youtube.com". Анимация загрузки, которую Вы видите - результат выполнения предыдущей итерации рекурсии. Новый запрос не выполнился.

  • @xclsv Как мне сбросить старый запрос и сделать новый уже без ошибки?

  • @fastspace said in Помогите с логикой.:

    @xclsv Как мне сбросить старый запрос и сделать новый уже без ошибки?

    Запрос нельзя сбросить, т.к. действия по нему уже совершены.
    Выполнить запрос через другой прокси-сервер, либо воздержаться от его использования совсем.
    Ещё можете попробовать добавить задержку между итерациями.

  • Другой прокси сервер не вариант. У меня строгая привязка 1 аккаунт - 1 прокси.
    Задержку шас попробую.

  • @fastspace said in Помогите с логикой.:

    Другой прокси сервер не вариант. У меня строгая привязка 1 аккаунт - 1 прокси.

    К сожалению, проблемы прокси средствами bas решить не удастся.

  • @xclsv Я как-то давно гонял другой шаблон и там не было такой проблемы. Повторно всё грузилось без ошибок, жаль у меня не осталось этого шаблона.

  • @fastspace said in Помогите с логикой.:

    @xclsv Я как-то давно гонял другой шаблон и там не было такой проблемы. Повторно всё грузилось без ошибок, жаль у меня не осталось этого шаблона.

    Возможно, прокси был другой.

  • @xclsv Я пробовал 5 разных прокси. Либо ошибки действия как на видео, либо пропуск действия Was Error. Скрипт дальше бегает по действиям, но страница грузится.

  • @gr-al-ni Сброс работает, но это не вариант. Сброс обнуляет всё, что можно, лучше уж тогда поток завершить.
    FOX выручай :D

  • @fastspace said in Помогите с логикой.:

    FOX выручай :D

    Как ведёт себя скрипт без прокси?

  • @fox У меня домашний IP не медленный, поэтому создать такую ситуацию на 100% не могу.
    Что сделал: Установил таймаут в 5 секунд. В итоге ситуация номер 2, когда скрипт при повторной загрузке не дожидается окончания действия загрузки и едет дальше.

  • @fastspace said in Помогите с логикой.:

    но страница грузится

    Это результат выполнения предыдущей итерации рекурсии.
    Вы используете медленный прокси. Делаете запрос к серверу. Ждёте по таймауту и выполняете новый запрос до окончания выполнения предыдущего. Прокси бреет вас. В это время предыдущий запрос продолжает выполняться, результат его выполнения вы и видите на экране.
    Это легко проверяется, если воспроизводить действия поэтапно.

    Это нормальная ситуация при работе с объемными запросами в обычном браузере. В бас это должно работать как-то иначе?

  • @xclsv Если ставить дефолтное ожидание, то всё работает как надо.

  • @fastspace said in Помогите с логикой.:

    @xclsv Если ставить дефолтное ожидание, то всё работает как надо.

    Наличие ограниченного ожидания лишь регулирует лимит ожидания полной загрузки страницы, но не отменяет продолжение получения ответа сервера и компиляцию данных в браузере.

  • @xclsv Хорошо, как мне тогда дождаться окончания выполнения предыдущего запроса и сделать новый? Я просто тогда таймауйт действие могу установить именно в тот момент когда прошлый запрос должен был оборваться. От чего это зависит? Это сам сервер устанавливает свой таймаут подключения к нему?

  • @fastspace said in Помогите с логикой.:

    как мне тогда дождаться окончания выполнения предыдущего запроса и сделать новый

    Ждать полной загрузки страницы =)
    Полагаю, в это ожидание входит не только полная загрузка ответов серверов, но и компиляция полученных ответов в браузере.
    Может случиться так, что какой-то из запросов на странице выполняется слишком долго, но к серверу уже можно делать новый запрос.
    Думаю, в браузере не удастся настолько тонко регулировать таймауты.
    Если не хотите ждать, пока будет происходить загрузка в браузере, используйте http-клиент.

    И воздержитесь от ожидания полной загрузки страницы. Используйте ожидание элемента. Регулируйте таймаут внутри этого действия. Тогда Вам будет не важно, выполнился ли запрос к серверу через прокси и в какой по счету итерации подгрузилась страница. Если уж за 5 итераций элемента дождаться не удалось, то всё, фиаско.