Как перезагружать прокси не периодически, а после обработки всего списка?



  • Загружаю прокси с урла. Стоит задача перезагружать урл с проксями только после того как отработали все прокси от предыдущей загрузки.

    По урлу прокси периодически обновляются на сервере.

    Нашел в настройках ресурса галку "Перегружать периодически" И там интервал в милисекундах.

    http://i.piccy.info/i9/58ce14d44a919806cf7a0ab33fa80056/1489499750/35810/1119390/proxy_reload.png
    alt text

    Но мне нужно перегружать не по времени. А только после того как отработала первая партия проксей.

    1. То есть делаем запрос к урлу проксей, загрузили прокси в ресурс.
    2. Работаем на этих проксях в многопотоке.
    3. Прокси закончились по правилам выставленым в ресурсе.
    4. Делаем повторный запрос к урлу прокси чтоб загрузить новую партию проксей.
    5. Скрипт дальше работает в многопотоке на новой партии проксей и так по кругу.

    Как такое реализовать? Буду благодарен за помощь.



  • @Gang это нужно вставить в Выполнить код.

    Reload('ИМЯ РЕСУРСА')
    

    При использовании ресурса с прокси ставьте галку не завершать приложение (точно не помню название). Действие, где используется этот ресурс, оборачиваем в игнорировать ошибки, и делаем обработку, что если был ошибка (WAS_ERROR) и последняя ошибка(LAST_ERROR) была "Все данные были обработаны для 'имя_ресурса' ", то выполняем код выше



  • @DrPrime said in Как перезагружать прокси не периодически, а после обработки всего списка?:

    @Gang это нужно вставить в Выполнить код.

    Reload('ИМЯ РЕСУРСА')
    

    При использовании ресурса с прокси ставьте галку не завершать приложение (точно не помню название). Действие, где используется этот ресурс, оборачиваем в игнорировать ошибки, и делаем обработку, что если был ошибка (WAS_ERROR) и последняя ошибка(LAST_ERROR) была "Все данные были обработаны для 'имя_ресурса' ", то выполняем код выше

    Спасибо работает. Но вот если я в if вставляю [[LAST_ERROR]]||[[WAS_ERROR]] Это ведь проверка, была ли вообще ошибка и какая последняя ошибка, верно? А если в шаблоне будет какая-то другая ошибка, НЕ ошибка взятия прокси с ресурса? Тогда условие if тоже выполнится и перезагрузит ресурс с проксями?

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



  • @Gang
    ([[LAST_ERROR]]=="Все данные рбработаны для ресурса ...") &&[[WAS_ERROR]]
    Вот так правильно, что бы оба условия выполнялись. Только текст ошибки точно посмотри.



  • @DrPrime said in Как перезагружать прокси не периодически, а после обработки всего списка?:

    @Gang
    ([[LAST_ERROR]]=="Все данные рбработаны для ресурса ...") &&[[WAS_ERROR]]
    Вот так правильно, что бы оба условия выполнялись. Только текст ошибки точно посмотри.

    Спасибо! Вы очень много помогли мне на этом форуме! Но у меня все же не получается перезагружать ресурс с урлом. Если с текстовым файлом работаем локально, тогда все перезагружает и следующие потоки берут новую инфу и работают. А как подставляю урл в ресурс, так он только перезагружается но инфу не берет и потоки отваливаются(

    Можете глянуть мой шаблон, в чем может быть проблема? 0_1489592702965_test_reload_proxy.rar Целый день убил, так и не осилил((



  • Короче с этой перезагрузкой ресурса после ошибки не комильфо. Часть потоков отваливается на этой перезагрузке(

    А можно сделать отдельную настройку в ресурсе, чтоб обновлять источник проксей по урлу не по времени, а после того как все текущие прокси в листинге закончатся?

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

    Помогите пожалуйста, очень надо!



  • @Gang said in Как перезагружать прокси не периодически, а после обработки всего списка?:

    Часть потоков отваливается на этой перезагрузке(

    Нужно еще меньше деталей, просто скажите что БАС глючит, этого достаточно, я сам догадаюсь в чем проблема.

    Помогите пожалуйста, очень надо!

    @DrPrime вам написал. Ладно вот проект

    0_1489763399087_proxyreload.xml



  • Спасибо огромное!!!



  • @gang Вместо выполнить код, можна сделать Перезагрузить Ресурс
    0_1544455227022_Clip2net_181210171327.png
    P.S. Делал для куки.
    Вот топик:
    https://community.bablosoft.com/topic/5992/как-перезагружать-cookie-после-обработки-всего-списка/



  • @forest94 said in Как перезагружать прокси не периодически, а после обработки всего списка?:

    @gang Вместо выполнить код, можна сделать Перезагрузить Ресурс

    0_1544447949983_Clip2net_181210151600.png
    P.S. Делал для куки.
    Вот топик:
    https://community.bablosoft.com/topic/5992/как-перезагружать-cookie-после-обработки-всего-списка/

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



  • @fox Обновил скрипт, в Перезагрузить Ресурс не надо ставить галочку "Не прерывать приложение", а в читать файл надо.
    0_1544455280763_Clip2net_181210171650.png

    Тоесть без галочки "cook", а с ней "cook|onlyfail".



  • @forest94 said in Как перезагружать прокси не периодически, а после обработки всего списка?:

    @fox Оновил скрипт, в Перезагрузить Ресурс не надо ставить галочку "Не прерывать приложение", а в читать файл надо.
    0_1544455280763_Clip2net_181210171650.png

    Тоесть без галочки "cook", а с ней "cook|onlyfail".

    Я не открывал скрипт, просто откомментировал разницу между версиями BAS. А вы походу скопировали своё предыдущее сообщение вместе с опечаткой :D
    0_1544455505215_096fa0e8-9a04-4baf-b174-e08ced69d389-изображение.png


Log in to reply