Одновременный запуск нескольких проектов

Garry Potter

Client
Регистрация
11.01.2022
Сообщения
29
Благодарностей
6
Баллы
3
Здравствуйте

Задача такая: есть 5 проектов, которые никак не связаны между собой (кроме того, что используют общие мобильные прокси - экономлю так).
Время выполнения каждого проекта - разное.

Мне нужно, чтобы они работали круглосуточно (1 поток на 1 проект), но запускались постоянно одновременно (или с паузой до 10 сек). Т.е. те, кто завершаются раньше, ждали остальных. Потом смена IP, и запускаются всей пачкой заново.
Я делал это через глобальные переменные (в моем исполнении получилось, но довольно глючно), но слышал, что подобную вещь можно реализовать стандартными способами через "Диспетчер заданий" (не нужно изобретать велосипед). Однако не могу найти таких настроек там. Возможно не там ищу... Подскажите, пожалуйста, варианты решения этой задачи.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 277
Благодарностей
8 608
Баллы
113
подобную вещь можно реализовать стандартными способами через "Диспетчер заданий"
Можете в 'Диспетчере заданий' добавить в одно задание все проекты, которые работают с этим прокси и в конце, самым последним проектом, поместите тот, который будет менять прокси.
 
  • Спасибо
Реакции: Garry Potter

genri

Client
Регистрация
31.05.2021
Сообщения
58
Благодарностей
9
Баллы
8
Здравствуйте

Задача такая: есть 5 проектов, которые никак не связаны между собой (кроме того, что используют общие мобильные прокси - экономлю так).
Время выполнения каждого проекта - разное.

Мне нужно, чтобы они работали круглосуточно (1 поток на 1 проект), но запускались постоянно одновременно (или с паузой до 10 сек). Т.е. те, кто завершаются раньше, ждали остальных. Потом смена IP, и запускаются всей пачкой заново.
Я делал это через глобальные переменные (в моем исполнении получилось, но довольно глючно), но слышал, что подобную вещь можно реализовать стандартными способами через "Диспетчер заданий" (не нужно изобретать велосипед). Однако не могу найти таких настроек там. Возможно не там ищу... Подскажите, пожалуйста, варианты решения этой задачи.
Можно сделать 6й проект - диспетчер , он будет рулить.
 
  • Спасибо
Реакции: Garry Potter

Garry Potter

Client
Регистрация
11.01.2022
Сообщения
29
Благодарностей
6
Баллы
3
Можете в 'Диспетчере заданий' добавить в одно задание все проекты, которые работают с этим прокси и в конце, самым последним проектом, поместите тот, который будет менять прокси.
Попробовал. К сожалению, мне не подходит. Т.к. в этом случае все проекты запускаются по очереди, а мне нужно, чтобы одновременно
 

Garry Potter

Client
Регистрация
11.01.2022
Сообщения
29
Благодарностей
6
Баллы
3
Можно сделать 6й проект - диспетчер , он будет рулить.
У меня он по сути реализован, но внутри каждого проекта. Подглючивает, но видимо придется дорабатывать в этом направлении. Я думал, что есть что-то проще, но похоже, что нет
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 277
Благодарностей
8 608
Баллы
113
Попробовал. К сожалению, мне не подходит. Т.к. в этом случае все проекты запускаются по очереди, а мне нужно, чтобы одновременно
Попробуйте проектам в задании назначить групповые номера - обычным проектам одинаковые номера, а последнему проекту - другой номер.

117849
 
  • Спасибо
Реакции: Garry Potter
Регистрация
22.03.2019
Сообщения
17
Благодарностей
10
Баллы
3
Потом смена IP, и запускаются всей пачкой заново.
В конце каждого проекта добавь проверку на количество запущенных потоков
C#:
return ZennoPoster.AllInstances.Count();
И уже исходя из этого строишь логику, если 1 поток (себя тоже считает) - меняет IP, если больше 1 - просто завешает работу. Я у себя так реализовал. :bu:
 

Garry Potter

Client
Регистрация
11.01.2022
Сообщения
29
Благодарностей
6
Баллы
3
В конце каждого проекта добавь проверку на количество запущенных потоков
C#:
return ZennoPoster.AllInstances.Count();
И уже исходя из этого строишь логику, если 1 поток (себя тоже считает) - меняет IP, если больше 1 - просто завешает работу. Я у себя так реализовал. :bu:
Он считает вообще все, что крутится в ЗП в этот момент? Можно ли его как-то ограничить: одни потоки считать, а другие - нет? Может как-то по названию...
 

invergo

Client
Регистрация
17.02.2016
Сообщения
42
Благодарностей
20
Баллы
8
Получает количество запущенных потоков по ид
C#:
string ids = "f86fbab7-be50-4d14-a595-a8dea1c346dc";
Guid id = new Guid(ids);
return ZennoPoster.GetThreadsCount(id);
 
  • Спасибо
Реакции: Garry Potter

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