{нужен.совет} Как сделать лучше бота? Мой вариант внутри. Но надо бы лучше...

Регистрация
21.11.2019
Сообщения
29
Благодарностей
1
Баллы
3
Надо сделать так, чтобы разный % ботов в шаблоне выполнял выполняли разные действия.
Пока что идея такая, описана кратко ниже. Если у вас будут мысли как сделать лучше, поделитесь пожалуйста...


Условие:

- Есть 10000 аккаунтов
- 2% аккаунтов должны сделать “действие 1”
- 5% аккаунтов должны сделать “действие 2”
- 7% аккаунтов должны сделать "действие 3”

Как хочу сделать:

0 - создаю четыре txt файла Действие_1_done.txt, Действие_2_done.txt, Действие_3_done.txt и “Основной Файл Аккаунтов”. Располагаю их в одной папке проекта
1 - при старте потока беру “Основной Файл Аккаунтов” и кладу в Основной Список Аккаунтов, считаем строки и назначаем значение 100%
2 - рандомно выбираю какие действие которое должен делать бот-аккаунт в потоке (например “действие 2”)
3 - проверяю файл “Действие_2_done.txt” на наличие максимального количества строк (5% строк от количества строк из Основного Файла Аккаунта), если количество строк меньше, чем 5% то запускаем сценарий “действие 2”... (если равно, то запускаем проверку строк других файлов “действие 1” и “действие 3” чтобы переключиться на одно из них)
4 - выбираю к исполнению действие, в файле которого меньше строк, чем должно быть в Условии и бот выполняет это действие
5 - далее этот бот аккаунт сохраняю в файл Действие_2_done.txt например... Как только в этом файле будет 5% от общего числа аккаунтов для “Действия 2”, то в последующих потоках сценарий по действию 2 больше не запускается.


Проблемы подхода:
  • при каждом новом запуске шаблона надо будет чистить файлы txt “действие 1”, “действие 2”, “действие 3”... Но это не парит.
  • Из Основного Файла Аккаунтов надо будет удалять строки отработанных аккаунтов (чтобы случайно не взять повторно его в работу потока), и значение 100% в цифрах всегда будет меняться... Но и это можно решить сделав 2 одинаковых списка: первый для вычисления % отработанных действий и второй чтобы брать из него аккаунты
  • Такой вариант будет плохо работать на многопотоке, в какой-то момент окажется что действий выполнено значительно больше от запланированного в Условии...
Наверняка есть другой более продвинутый способ, до которого пока не допер. Если знаете, подскажите пожалуйста))
 

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
можно же просто добавить в строку аккаунта флаг/признак что делать login:pass#действие 1 и хранить в одном списке и тп.
 
  • Спасибо
Реакции: kirillkorobkin

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Создать рандом, который даст вероятность 2%. Это делается очень просто на c#
 
  • Спасибо
Реакции: kirillkorobkin
Регистрация
21.11.2019
Сообщения
29
Благодарностей
1
Баллы
3

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
549
Благодарностей
1 130
Баллы
93

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