Виснут потоки при попытке загрузить страницу

Sefroz

Client
Регистрация
20.11.2017
Сообщения
54
Благодарностей
3
Баллы
8
Виснут потоки при попытке загрузить страницу.(видимо сокс если не нравится то сайт не дает загрузить эту страницу, так происходит не с каждым соксом). Далее это забивает все потоки и все.

Настройки таба стоят 60 с.

Как можно решить проблему? Как вариант чтобы вылетало по ошибке или поток завершался если страница не грузится.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 364
Благодарностей
5 423
Баллы
113
Если стоит 60 сек таймаут, то оно не по ошибке выходит. А просто входит из ожидания загрузки.
Для проверки успешной загрузки есть несколько инструментов. Самый простой это проверка на уникальный элемент на странице.

Могу посоветовать. отключить, картинки, плагины, рекламу. Покопатся в мониторе трафика и ограничить загрузку "левых" сайтов.
Так же стоит обратить внимание на кубик "Состояние занятости". Попробуйте его добавить перед загрузкой.

Ну и не стоит забывать о том, что если прокси медленные, то никакие меры не помогут.

Скорость я проверяю так, делаю запрос с таймаутом 2 сек на сайт

Если вышло по ошибке, то скорость прокси не достаточная для работы.
 
  • Спасибо
Реакции: djaga

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 676
Баллы
113
Если стоит 60 сек таймаут, то оно не по ошибке выходит. А просто входит из ожидания загрузки.
Для проверки успешной загрузки есть несколько инструментов. Самый простой это проверка на уникальный элемент на странице.

Могу посоветовать. отключить, картинки, плагины, рекламу. Покопатся в мониторе трафика и ограничить загрузку "левых" сайтов.
Так же стоит обратить внимание на кубик "Состояние занятости". Попробуйте его добавить перед загрузкой.

Ну и не стоит забывать о том, что если прокси медленные, то никакие меры не помогут.

Скорость я проверяю так, делаю запрос с таймаутом 2 сек на сайт

Если вышло по ошибке, то скорость прокси не достаточная для работы.
ууу... чек 2 с. и на зеннолаб .... опасно o_O
как по мне так лучше чекнуть до гугля, так определяем что прокси жив и второй раз чекнуть до целевого сайта с нужным таймаутом, так определим что прокси достаточно шустрый для данного сайта. :ce:
 

Sefroz

Client
Регистрация
20.11.2017
Сообщения
54
Благодарностей
3
Баллы
8
Д
Если стоит 60 сек таймаут, то оно не по ошибке выходит. А просто входит из ожидания загрузки.
Для проверки успешной загрузки есть несколько инструментов. Самый простой это проверка на уникальный элемент на странице.

Могу посоветовать. отключить, картинки, плагины, рекламу. Покопатся в мониторе трафика и ограничить загрузку "левых" сайтов.
Так же стоит обратить внимание на кубик "Состояние занятости". Попробуйте его добавить перед загрузкой.

Ну и не стоит забывать о том, что если прокси медленные, то никакие меры не помогут.

Скорость я проверяю так, делаю запрос с таймаутом 2 сек на сайт

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

Как сделать так чтобы поток обрывался или вылетал по ошибке, в случае если загрузка страницы зациклилась(либо идет более 60 секунд например) ?

Проверку загрузки страницы не возможно сделать, тк на шаге загрузки поток и виснет и так происходит со всеми потоками которые наткнулись на такие соксы которых 5%.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 676
Баллы
113
Д


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

Как сделать так чтобы поток обрывался или вылетал по ошибке, в случае если загрузка страницы зациклилась(либо идет более 60 секунд например) ?

Проверку загрузки страницы не возможно сделать, тк на шаге загрузки поток и виснет и так происходит со всеми потоками которые наткнулись на такие соксы которых 5%.
кидай свой проблемный сокс, глянем что там виснет. а виснет любой сайт или конкретный ? а то я на яндексе собрался проверять :-)
 

Sefroz

Client
Регистрация
20.11.2017
Сообщения
54
Благодарностей
3
Баллы
8
кидай свой проблемный сокс, глянем что там виснет. а виснет любой сайт или конкретный ? а то я на яндексе собрался проверять :-)
виснет конкретный сайт, сокс привязан по ип. Когда получалось выловить такой сокс в проджект мейкере ,он так же вис, только принудительная остановка помогала. Так же можно с такого сокса зайти на другой сайт.

Дело именно в сайте. Нужно каким то образом делать обрыв и завершать действие инстанса либо по ошибке, либо просто обрыв.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 676
Баллы
113
виснет конкретный сайт, сокс привязан по ип. Когда получалось выловить такой сокс в проджект мейкере ,он так же вис, только принудительная остановка помогала. Так же можно с такого сокса зайти на другой сайт.

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

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 676
Баллы
113
попробуй этот код.

C#:
instance.ActiveTab.NavigateTimeout = 35;                                     // устанавливаем таймаут загрузки страницы
instance.ActiveTab.Navigate("www.yandex.ru");

for (int i = 1; i <= 35; i++)
{
    if (instance.ActiveTab.IsBusy && !(instance.ActiveTab.IsVoid || instance.ActiveTab.IsNull)) Thread.Sleep(1000); else break;
}
instance.ActiveTab.Stop();
return true;
 
  • Спасибо
Реакции: djaga

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