Прерывание/остановка шаблона бат файлом

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Есть 5 шаблонов, отличаются только проксями логинами и паролями. В ходе работы, когда баланс становится нулевым нужно прерывать работу.
Вопрос, могу ли я останавливать все 5 разных шаблонов, одним бат файлом, если да, то как это сделать?
сейчас если создаю для каждого шаблона свой файлик, все работает, если один файл на всех, то почему то нет. В идеале создать 1 бат файл и чтобы он прерывал работу всех шаблонов. Может в настройках что? Что это за поиск задания по...
Вот так в проджекте все выглядит, (во всех 5 шаблонах, все одинаково).
699301609258548950.png
и вот так в постере
69929

Надеюсь понятно объяснил))
Спс
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 421
Баллы
113
Почему не сделать файлик с данными аккаунтов вида login|pass|proxy и не запускать один шаблон в 5 потоков, а не 5 копий, а при нужном условии его же и обрывать хоть батником, хоть кодом?
Почему не использовать профиля вообще?
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Почему не сделать файлик с данными аккаунтов вида login|pass|proxy и не запускать один шаблон в 5 потоков, а не 5 копий, а при нужном условии его же и обрывать хоть батником, хоть кодом?
Почему не использовать профиля вообще?
Профиля использую, потому что нужно чтобы они работали, так сказать асинхронно и с чутка разными настройками, у меня 1 главный бот, и 5 вторичных (они между собой общаются через глобалки, и у каждого второго своя айдишка и свои настройки, и запрос-ответ с первым (главным) за цикл происходит 10+ раз)
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 421
Баллы
113
Все равно, что-то Вы перемудрили) Ну ладно.

Попробуйте что-то вроде этого вместо батника
C#:
foreach(string name in ZennoPoster.TasksList.Where(x=>x.Contains("Second_bot_v3")))
    ZennoPoster.InterruptTask(name);
 
  • Спасибо
Реакции: arbplv

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Все равно, что-то Вы перемудрили) Ну ладно.

Попробуйте что-то вроде этого вместо батника
C#:
foreach(string name in ZennoPoster.TasksList.Where(x=>x.Contains("Second_bot_v3")))
    ZennoPoster.InterruptTask(name);
поясни что за код. циклом пробегаем по всем действующим (работающим) шаблонам, и генератором ищем так сказать системное название шаблона и прерываем его?
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 421
Баллы
113
не по действующим, а по добавленным в постер, выбираем нужные нам имена в список и в цикле прерываем все, что нашлись.
 
  • Спасибо
Реакции: arbplv

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
не по действующим, а по добавленным в постер, выбираем нужные нам имена в список и в цикле прерываем все, что нашлись.
Подскажи, запустил такой кусочек, чет не заводится... ZennoPoster.InterruptTask("Second_bot"); вот эта строчка корректно отрабатывает, стопает что нужно. А вот со списком действующих проектов пока вопросик... Какой то огромное название выдергивает, подскажи что поправить или где почитать про эти методы. 70059
70058
Спасибо
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 387
Благодарностей
5 447
Баллы
113
По поводу управления шаблонами есть отличная статья
 
  • Спасибо
Реакции: arbplv

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 421
Баллы
113
а ну, правильно. надо спарсить оттуда еще или id или name и по нему прерывать шаблон.

C#:
foreach(string task in ZennoPoster.TasksList.Where(x=>x.Contains("Second_bot_v3"))){
    Guid id = Guid.Parse(Regex.Match(task, @"(?<=<Id>).*?(?=</Id>)").Value);
    ZennoPoster.InterruptTask(id);
}
 
  • Спасибо
Реакции: Solomon21 и arbplv

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Сделал по своему колхозному варианту, через регулярку, но за метод огромное спасибо. Выручил. Все работает корректно.
C#:
Regex name_task_rgx = new Regex(@"(?<=<Name>).*(?=</Name>)");
string name_task = string.Empty;

foreach (string name in ZennoPoster.TasksList)
    {
        name_task = name_task_rgx.Match(name).ToString().Trim();
        if (name_task.Contains("Second_bot"))
            {
                ZennoPoster.InterruptTask(name_task);
            }
    }

    
//foreach(string name in ZennoPoster.TasksList.Where(x=>x.Contains("Second_bot")))
//    {
//        ZennoPoster.InterruptTask(name);   
//    }
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
а ну, правильно. надо спарсить оттуда еще или id или name и по нему прерывать шаблон.

C#:
foreach(string task in ZennoPoster.TasksList.Where(x=>x.Contains("Second_bot_v3"))){
    Guid id = Guid.Parse(Regex.Match(task, @"(?<=<Id>).*?(?=</Id>)").Value);
    ZennoPoster.InterruptTask(id);
}
Спасибо. Подскажи как лучше прерывать по айдишке или по имени? По имени воде прерывает)
 

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