Как оперативно сменить сдохший сокс при отработке шаблона?

Enigma

Client
Регистрация
16.06.2017
Сообщения
187
Благодарностей
31
Баллы
28
Пишу шаблон, который обязательно должен работать через сокс. Соксы используются приватные, качественные.
Не секрет, однако, что даже качественные соксы могут внезапно умереть в процессе отработки шаблона. При этом крайне важно продолжить работу шаблона, сменив сокс на новый.

Но как это грамотно сделать?

В голову лезут одни костыли, например на каждый экшн перехода по страницам делать проверку наличия текста "Попытка соединения не удалась". В случае, если текст отсутствует - шаблон продолжает отработку. Если злополучный текст есть - отправляемся по ветке, где берем следующий сокс по списку. Но из-за того, что в шаблоне очень много не похожих друг на друга экшенов перехода по ссылкам, то привязка к каждому экшену выглядит ну очень непривлекательно. К тому же после взятия сокса нужно еще и грамотно вернуться на тот же экшн, где шаблон споткнулся. Чтобы не лепить условия на каждом шагу, тут бы как раз пригодился "многоразовый bad end", о котором когда-то тут писали)) Но, я так понимаю, его так и не реализовали.

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

Есть ли более здравые идеи? Уже всю голову сломал :-)
 
Последнее редактирование:

justhelen

Client
Регистрация
18.11.2009
Сообщения
267
Благодарностей
134
Баллы
43
Не знаю точно, как это сделать, но есть идея. Можно взять соксы и привязать их к 127.0.0.1:порт, на разные порты. Зеннопостеру отдавать в виде 127.0.0.1:порт. Какой-то другой чекер чекает соксы и если сокс сдох, то к 127.0.0.1:порт_к_которому_привязан_этот_сокс, привязывает другой сокс. В Зеннопостере тогда ничего не меняется и в шаблоге ничего делать не надо, но при этом сокс будет меняться. Я сама такое не делала, но вот например у меня Bitvise и там я подключаюсь к вдс и есть настройка чтоб например в браузере я могла выставить прокси типа 127.0.0.1:порт и тогда трафик идёт через вдс как через сокс. (Я не то что бы офигенно в этом разбираюсь :-)). Короче, если так можно сделать в Bitvise, значит наверное и эту вот идею можно реализовать. Я бы как-то так наверное делала.
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
Есть ли более здравые идеи? Уже всю голову сломал :-)
купить нормальные прокси
или пилить кубик на си который будет все эти проверки делать и ставить сокс когда старый сломался
но помоему это дичь)
 

Enigma

Client
Регистрация
16.06.2017
Сообщения
187
Благодарностей
31
Баллы
28
купить нормальные прокси
Соксы нормальные. Но ведь никакой сокс не застрахован от падения в самый неподходящий момент.

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

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Соксы нормальные. Но ведь никакой сокс не застрахован от падения в самый неподходящий момент.
И как часто у вас такие моменты происходят?
Если соксы нормальные, то и проблем не бывает как правило. А 5% ошибок и прочих проблем, я считаю допустимый порог. Даже в некоторых случаях 20%. Нужно понимать, что очень много факторов завязано на одном шаблоне и все вылизать идеально не всегда получается.
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 788
Благодарностей
2 453
Баллы
113
И как часто у вас такие моменты происходят?
Если соксы нормальные, то и проблем не бывает как правило. А 5% ошибок и прочих проблем, я считаю допустимый порог. Даже в некоторых случаях 20%. Нужно понимать, что очень много факторов завязано на одном шаблоне и все вылизать идеально не всегда получается.
На сколько я понимаю ведется разработка шаблона который будет работать с деньгами. И к примеру если сокс умер, а поставилась ставка на бирже по невыгодной цене из-за этого - это в свою очередь приведет к убыточности шаблона. Но, я могу ошибаться.
Суть в том чтобы гарантированно быть уверенным, что каждый кубик отработал без ошибок - если была ошибка - заменить прокси и продолжить выполнение.
Прям самому интересно, как это грамотно все же реализовать без лишних кубиков...
 

Enigma

Client
Регистрация
16.06.2017
Сообщения
187
Благодарностей
31
Баллы
28
На сколько я понимаю ведется разработка шаблона который будет работать с деньгами. И к примеру если сокс умер, а поставилась ставка на бирже по невыгодной цене из-за этого - это в свою очередь приведет к убыточности шаблона. Но, я могу ошибаться.
Совершенно верно, направление мысли в самую точку. Задумка шаблона - многоуровневая стратегия с большим количеством шагов. Т.е. он может и сутки отрабатывать, пока не будет результат.

Очень жаль, что в программе не реализована автоматическая проверка текущего сокса прямо по ходу выполнения шаблона. Фактически сделать это не так уж сложно. И если сокс умирает - менять на следующий из источника (а источник можно формировать уже средствами zennoproxychecker). Затем либо продолжать выполнение с того места, где умер сокс, либо добавить логику "change proxy", которая будет продолжать выполнение шаблона с этого места после смены сокса.

Я поднял вопрос по реализации в этой теме, может быть получится уговорить уважаемых разработчиков внедрить данную полезную функцию :-)
 

sydoow

Client
Регистрация
22.06.2011
Сообщения
289
Благодарностей
149
Баллы
43
Но ведь никакой сокс не застрахован от падения в самый неподходящий момент.
На нормальных индивидуальных проксях - очень редки вылеты.
Все что на толпу - может глючить.

Для работы где умирание IP критично - нужно индивидуалки покупать или свои ставить. Тем более если работа с деньгами, где вылеты ещё более критичны.

Врядле чем то помог, просто мысли в слух.
 

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