Вопрос по работе с профилями. Помогите разобраться как организовать

Dungus

Client
Регистрация
25.03.2020
Сообщения
34
Благодарностей
2
Баллы
8
Всем доброго времени суток.
Подскажите пожалуйста. Пользую Зеннопостер несколько месяцев, и никак не могу разобраться, как организовать работу с профилями телеграм. Есть мной написанный шаблон, который должен поочередно брать профиль, загружать его и заходить в телеграм. Это все прекрасно работает в многопотоке, но при условии, что я профили перемещаю во временные каталоги с рандомными именами. То есть шаблон берет файл профиля, создает каталог jusdsd, перемещает в него файл профиля, затем прогружает его и заходит в телегу. В результате все работает как надо, но после работы 50ти, допустим, профилей имеем 50 папок, из которых необходимо обратно в рабочий каталог перемещать файлы профилей. Я писал отдельный шаблон для перемещения... Но это неудобно и не правильно.
Как правильно организовать? Я пробовал не перемещая профили писать инфу об взятом профиле в текстовый файл, но как только запускаю многопоток - начинаются повторные использования профилей. Я пробовал наоборот, создавать файл и проверять его существование, и если существует - брать инфу из него. Та же проблема, если запустить несколько потоков - один или несколько потоков не успевают увидеть файл и тоже пытаются его создать, в результате повторные заходы одних и тех же профилей. Подскажите, как можно организовать? Весь мозг уже сломал
 

Phoenix78

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

Dungus

Client
Регистрация
25.03.2020
Сообщения
34
Благодарностей
2
Баллы
8
все имена профилей в списке хранить.
при старте шаблон берет первую строку с удалением и тут же дозаписывает в конец.
по имени полученного шаблона , формировать путь к шаблону и грузить его.
вот и вся организация.
Я так тоже пытался сделать: шаблон создавал список на основании файлов в каталоге. Но как сделать тогда, чтобы не создавался повторно список при запуске многопотока? я пытался вводить глобальную переменную, которая, если меняла значение - остальные потоки уже из списка брали данные. Но на сколько я знаю, глобальную переменную не объявить через настройки шаблона при первом старте, поэтому это отработало 1 раз:-). То есть выход один - иметь список профилей и им пользоваться, да?
 

TwistDanceR

Client
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Я так тоже пытался сделать: шаблон создавал список на основании файлов в каталоге. Но как сделать тогда, чтобы не создавался повторно список при запуске многопотока? я пытался вводить глобальную переменную, которая, если меняла значение - остальные потоки уже из списка брали данные. Но на сколько я знаю, глобальную переменную не объявить через настройки шаблона при первом старте, поэтому это отработало 1 раз:-). То есть выход один - иметь список профилей и им пользоваться, да?
Можешь попробовать с базой данных связаться. Я например храню профили в одной папке и перезаписываю их в ней же - ни шагу влево-вправо.
В столбце таблицы status присваиваю "используется".

Ещё извращенство - привязаться ко времени обновления файла. Берешь самый нетронутый (по дате) профиль (ну или таймштамп мути). Тут же его сохраняешь (чтобы переписать время). Но тогда нужно чтобы между инстансами многопотока хотя бы одна секунда прошла.
 

Вложения

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
дополнение к твоей схеме:
  • в переменную уровня проекта записываешь путь куда ты переместил профиль
  • в конце работы шаблона перемещаешь обратно.
Или как выше подсказали заводишь таблицу, где хранятся пути к профилям. Путь берешь из таблицы, присваиваешь ему статус занят. Следующий поток проверяет если статус занят, то берет следующий. В конце работы шаблона вместо статуса занят пишешь свободен
 

Dungus

Client
Регистрация
25.03.2020
Сообщения
34
Благодарностей
2
Баллы
8
Уважаемые, всем огромное спасибо за советы, понравилась идея с базой данных и с присвоением статуса - об этом я почему-то и не подумал. Таймштамп - это конечно вообще извращение в жесткой, грязной, не глаженной форме, в нечищенных сапогах:-)))))
 

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