Работа с таймером (Помогите:D)

  • Автор темы Автор темы tom_dwan
  • Дата начала Дата начала

tom_dwan

Пользователь
Регистрация
09.08.2019
Сообщения
52
Реакции
5
Баллы
8
Всем привет) Я хочу работать в 5 потоков.
Такой вопрос: Как сделать что бы мои профили имели как бы таймер когда профиль отправил сообщение он не юзался шалоном в течении 10-12 минут потом опять грузился и так по кругу. Даже если будет 50 аккаунтов что бы они работали по кругу 1 сообщение в 10 минут.
Буду очень благодарен за подсказку))8-):D:ah:

Screenshot_1.jpg
 
делать бд (ну или csv, не уверен, что будет работать без ошибок, но можно проверить), в которой будет список путей к профилям и отдельно таймштамп, после использования профиля обновляешь в бд таймштамп, потом просто берешь профиль из бд удовлетворяющий условию и все.
 
делать бд (ну или csv, не уверен, что будет работать без ошибок, но можно проверить), в которой будет список путей к профилям и отдельно таймштамп, после использования профиля обновляешь в бд таймштамп, потом просто берешь профиль из бд удовлетворяющий условию и все.
а как этот таймштамп ставить
 
Алгоритмов много, все зависит от фантазии. Схема по быстрому:

1) Список профилей скинуть в список несколько раз, так чтобы строки по очереди брались с удалением, но и чтобы список не кончался. Тогда соседние потоки не будут брать один и тот же файл профиля, при условии, что профилей гораздо больше потоков.
2) При каждом взятии профиля а также и при успешной отправки сообщения сохранять профиль.
3) В нашем шаге «1)» настроить так, чтобы если поток берет файл профиля, проверяет дату его последнего редактирования. И если разница слишком маленькая, то пропускает этот профиль. На c#:
C#:
Развернуть Свернуть Копировать
var File_Path = project.Variables["File_Path"].Value; // считываем путь к файлу из переменной, например "C:\1\Input\Profile1.zpprofile"
DateTime LastWriteTime = new System.IO.FileInfo(File_Path).LastWriteTime; // получаем дату последнего редактирования файла
TimeSpan Time_diff = DateTime.Now - LastWriteTime; // считаем разницу временную
return Math.Floor(Time_diff.TotalSeconds); // возвращаем разницу в секундах
 
Алгоритмов много, все зависит от фантазии. Схема по быстрому:

1) Список профилей скинуть в список несколько раз, так чтобы строки по очереди брались с удалением, но и чтобы список не кончался. Тогда соседние потоки не будут брать один и тот же файл профиля, при условии, что профилей гораздо больше потоков.
2) При каждом взятии профиля а также и при успешной отправки сообщения сохранять профиль.
3) В нашем шаге «1)» настроить так, чтобы если поток берет файл профиля, проверяет дату его последнего редактирования. И если разница слишком маленькая, то пропускает этот профиль. На c#:
C#:
Развернуть Свернуть Копировать
var File_Path = project.Variables["File_Path"].Value; // считываем путь к файлу из переменной, например "C:\1\Input\Profile1.zpprofile"
DateTime LastWriteTime = new System.IO.FileInfo(File_Path).LastWriteTime; // получаем дату последнего редактирования файла
TimeSpan Time_diff = DateTime.Now - LastWriteTime; // считаем разницу временную
return Math.Floor(Time_diff.TotalSeconds); // возвращаем разницу в секундах
а можно твой контакт получить) Если есть телеграм или напиши ты мне пожалуйста @tomdwan19
 

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