Логика работы с моб проксями

Reactor3000

Client
Регистрация
25.09.2019
Сообщения
434
Благодарностей
262
Баллы
63
Привет.

Регистрирую почтовики. На один IP без проблем регистрируется 3 ящика. Далее меняю IP по API.
Регистрация одного ящика занимает +- 2 минуты. Можно регистрировать в 3 потока, нормально проходит.
Как правильно организовать процесс, чтобы максимизировать выхлоп почтовиков?
Если менять IP пока какой то поток еще не завершил регистрацию, то он зависает и через пару минут выходит по красной, хотя смена занимает пару секунд. То есть тупо менять IP каждые 120-150 сек не вариант.

Как понять, что данный IP сделал 3 выполнения, чтоб его ребутнуть?
Можно ли в планировщике(диспетчере заданий) нагородить костылей типа 1й шаб по реге - 3 выполнения, после завершения - 2й шаб, который ребут IP, и зациклить?
 

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 722
Благодарностей
1 377
Баллы
113
можно вести таблицу
IP|Сколько раз был взят|Сколько завершено

То есть при старте потока шаблон ищет в таблице IP и
если запись в таблице отсутствует, то записывает IP|1|0 и начинает регу
если был взят = 3 и сколько завершено < 3, то просто завершается с паузой 5 сек (ждет пока другие потоки доделают регу)
если был взят < 3, то увеличивает счетчик "сколько был взят" и начинает регу
если был взят =3 и сколько завершено = 3, то делаем ребут модема и начинаем регу на новом ip

каждый поток по завершении реги обновляет (увеличивает на 1) значение "сколько завершено"
 
  • Спасибо
Реакции: Reactor3000

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
можно при старте добавлять в табличку IP адрес, контролить сколько таких IP добавлено, просто посчитав количество текущих IP. если 3 то , просто на выход.
шаблон ребута должен контролить работу исполняющих шаблонов. если в табличке 3 адреса то ребут . после ребута очищать табличку.
в идеале шаблон ребута и должен управлять запуском исполняющих шаблонов.
 
  • Спасибо
Реакции: Reactor3000

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
вот код проверки и запуска исполняющего шаблона. вдруг пригодиться :-)
переделаешь под свои нужды :-)

C#:
string name_result = "Mobile_Work__1" ;
var list1=ZennoPoster.TasksList; // получаем список всех задач в системе
int NumberOfTries=1;
var tasksList = new List<string>(ZennoPoster.TasksList);
for (int i=0; i<tasksList.Count; i++) {
    string Name_Sablon=         Regex.Match(tasksList[i], @"(?<=<Name>).*(?=</Name>)").Value;
     string NumberOfTries_str =     Regex.Match(tasksList[i], @"(?<=ll><NumberOfTries>).*?(?=</NumberOfTries>)").Value;
    int qqq=    Name_Sablon.CompareTo(name_result);
    if (qqq==0) {
        try { NumberOfTries=  int.Parse( NumberOfTries_str); }  catch{}
        break;
  }
}
// NumberOfTries - количество попыток , если 0 значит шаблон не работает, можно его запустить
if (NumberOfTries<1) ZennoPoster.AddTries(name_result,1);
 

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