Прокси в многопотоке

Newbi3

Новичок
Регистрация
15.07.2024
Сообщения
12
Благодарностей
2
Баллы
3
Доброго времени суток, помогите нубу с настройками прокси в ZennoDroid(
Работаю с мобильными прокси, для однопотока всё понятно, прочитал файл в котором одна строка и это прокся, и её же подключил
А как организовать это для многопотока, чтоб каждый поток брал уникальную/свободную прокси?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 114
Баллы
113
Доброго времени суток, помогите нубу с настройками прокси в ZennoDroid(
Работаю с мобильными прокси, для однопотока всё понятно, прочитал файл в котором одна строка и это прокся, и её же подключил
А как организовать это для многопотока, чтоб каждый поток брал уникальную/свободную прокси?
Добрый день.
Тоже через файл, только привязанный к Списку и с помощью действия 'Операции над списком' брать отдельную строку, например случайную.
 

Newbi3

Новичок
Регистрация
15.07.2024
Сообщения
12
Благодарностей
2
Баллы
3
Добрый день.
Тоже через файл, только привязанный к Списку и с помощью действия 'Операции над списком' брать отдельную строку, например случайную.
Так разные потоки могут «случайно» взять одну и ту строку, разве нет?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 114
Баллы
113
Так разные потоки могут «случайно» взять одну и ту строку, разве нет?
Могут, но если строк/прокси будет достаточно много, то вероятность будет не такая большая.
 

Newbi3

Новичок
Регистрация
15.07.2024
Сообщения
12
Благодарностей
2
Баллы
3
Могут, но если строк/прокси будет достаточно много, то вероятность будет не такая большая.
Прокси мобильные не дешевые, поэтому покупать их больше чем будет кол-во рабочих потоков - не вариант(
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 114
Баллы
113
Прокси мобильные не дешевые, поэтому покупать их больше чем будет кол-во рабочих потоков - не вариант(
Попробуйте вариант с последовательной задержкой запуска проекта/потока и брать строку прокси из Списка с удалением, возвращая ее в исходный список после того как закончили работу или в случае ошибки выполнения, по ветке Bad End.

123604
 
  • Спасибо
Реакции: AccsGuru

Newbi3

Новичок
Регистрация
15.07.2024
Сообщения
12
Благодарностей
2
Баллы
3
Попробуйте вариант с последовательной задержкой запуска проекта/потока и брать строку прокси из Списка с удалением, возвращая ее в исходны список после того как закончили работу или в случае ошибки выполнения, по ветке Bad End.

Посмотреть вложение 123604
Задумывался об этом, но подумал что не сработает если поток будет завершаться из-за ошибок, не знал как работает Bad End.
Благодарю, буду пробовать!
Если еще объясните подробно как работает Bad End - буду вдвойне благодарен
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 114
Баллы
113
Задумывался об этом, но подумал что не сработает если поток будет завершаться из-за ошибок, не знал как работает Bad End.
Благодарю, буду пробовать!
Если еще объясните подробно как работает Bad End - буду вдвойне благодарен
В Справке у нас есть материал по Bad End и Good End действиям.
 
  • Спасибо
Реакции: AccsGuru

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 630
Благодарностей
1 225
Баллы
113
Если прокси какое-то количество с запасом, то берешь первый прокси из списка (с удалением), и сразу кладешь в конец списка. И сохраняешь файл с прокси. В целом, один из основных вариантов (наравне с возвратом прокси в конце работы).
Позволяет избежать потенциальных накладок с падением проекта и исчезновением прокси из файла.
Понятно, что количество прокси должно как-то позволять успевать отрабатывать потокам (учитывая время цикла). А не из серии, что у тебя пять прокси, а работать планируешь в двадцать потоков.
 
  • Спасибо
Реакции: AccsGuru

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
брать строку с удалением. В конце выполнения возвращать в список. Будет потеря данных при непредвиденном краше программы или зависших потоках

более сложный и надежный вариант не удалять строку, но добавлять ей как-то статус занятости. И так же в конце статус убирать. Нужно продумывать логику, чтобы статус сам со временем снимался на случай, если по какой-то причине поток его не снял в конце работы. Для этого бд более удобный, но в то же время более сложный вариант
 
  • Спасибо
Реакции: AccsGuru

daniil155919

Client
Регистрация
09.06.2024
Сообщения
28
Благодарностей
4
Баллы
3
через интерфейс бота, сделать окошко с вводом текста и будет сохранять этот текст в переменную, и потом уже через кубик подключить прокси писать эту переменную
 
  • Спасибо
Реакции: AccsGuru

Sardol

Client
Регистрация
23.09.2020
Сообщения
194
Благодарностей
45
Баллы
28
Доброго времени суток, помогите нубу с настройками прокси в ZennoDroid(
Работаю с мобильными прокси, для однопотока всё понятно, прочитал файл в котором одна строка и это прокся, и её же подключил
А как организовать это для многопотока, чтоб каждый поток брал уникальную/свободную прокси?
 

ruthless

Client
Регистрация
13.02.2017
Сообщения
226
Благодарностей
67
Баллы
28
Как вариант:
lock(SyncObjects.ListSyncer)
{
    //Получение прокси
}
 

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