Just ping them. Ping shows how fast they are by response times, so than
just filter them by your desired speed limit. It is usual technicque.
Как реализовать паузу работы потоков при смене айпи мобильного прокси
-
Всем привет, я использую в своем проекте мобильные прокси в которых есть возможность смены айпи по переходу по ссылке. Каждый раз когда идёт смена айпи сама работа прокси останавливается на некоторый промежуток времени, где-то до 10-20 сек.
Запуск скрипт в режиме Repeat, количество потоков указано через интерфейс(имею ввиду что ничего не костылиль в плане запусков потоков)
У меня есть всего 10 прокси, и я запускаю свой скрипт в 10 потоков, каждому потоку назначается свой прокси.
Мне нужно делать смену айпи каждую минуту, и при этом я хочу реализовать возможность приостанавливать работу потоков на время когда айпи находятся в процессе смены.Сейчас у меня довольно таки простое решение, я просто запускаю асинхронную функцию в которой бесконечный цикл, который меняет айпи через 60 секунд сна. Минус такого решения, что в какой-то момент потоки выдают ошибки, потому что прокси падают и иногда эти ошибки критичны.
Подытожу:
- Есть ли возможность приостанавливать работу потока, например в потоке какой-то слушатель который может перерывать основной флоу работы потока и выполнять действия внутри слушателя.
- Может быть я не в ту сторону двигаюсь в своем решении задачи, подскажите пожалуйста кто сталкивался с подобной ситуацией и как вы обходили её.
-
Штатными средствами нельзя.
Только если вводить глобальную переменную, которая будет сигнализировать о том, что надо потоки ставить на паузу.
Потом создать функцию, которая проверяет статус этой глобальной переменной, и если статус пауза - запускать цикл с паузой с проверкой, не снялась ли пауза.
Потом уже в код потока пихать эту функцию в наиболее критичных местах, где стоит поставить поток на паузу.