Коты, подскажите, как сделать то лучше)

Voldemar

Client
Регистрация
13.04.2014
Сообщения
478
Благодарностей
56
Баллы
28
Значит суть такая. 4 проекта. 1) Получает список прокси через get запрос, сохраняет на диск. В конце экшн , Запустить программу (bat который запускает следующий проект, устанавливает сколько делать "5") 2) Запускается проект, который чекает на валидность к определенному рессурсы прокси, работает в 5 поток. Так вот вопрос. Есть ещё 2-3 Бат файла, которые должны запускаться по окончании прокси чекера. Изначально всплыл вопрос такой, если добавить Запуск программы в конце чекера, то каждый поток выполнит данный экшн, что не есть хорошо.

Пробовал сделать так:
В прокси чекере, подгружается список, в котором указаны Bat файлы которые он по очереди запускает по окончании работы, при взятии он удаляет из списка строку. Думал логика такая, что первые потоки возьмут строки, тем самым оставят список пустым. Следовательно, другие потоки уже не смогу повторно запустить. Но все равно запускаются.....Список связан с файлом напрямую, Сохраняются изменения и на диске.

Извиняюсь, за мысленный бред и не структурированную подачу, задача такая:

Как сделать что бы по окончании работы прокси чекера (это шаблон свой, не путать с программой) ( в 5 потоков) запускались определенные проекты по 1 разу.
 

bigcajones

Client
Регистрация
09.02.2011
Сообщения
1 216
Благодарностей
683
Баллы
113
examples of what I use
 

Вложения

Voldemar

Client
Регистрация
13.04.2014
Сообщения
478
Благодарностей
56
Баллы
28

bigcajones

Client
Регистрация
09.02.2011
Сообщения
1 216
Благодарностей
683
Баллы
113
Then let me give you this one. If you put this c # action at the end of your template for proxies, when it is done it will start every other template in the poster with one thread and one try automatically. Don't forget to put reference in GAC to System.XML. If you need to change the number of attempts, change this section of the code to 5 if that is what you want.

Код:
 / / take limit of threads of the task
        var threadsElement1 = doc.SelectSingleNode ("Task / ExecutionSettings / NumberOfTries");
        if (threadsElement1 == null) continue;
      
        / / Change the value
        threadsElement1.InnerText = " 1 ";
 

Вложения

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