Как получить список портов запущенных инстансов по имени проекта?

Marlboro

Client
Регистрация
01.10.2020
Сообщения
36
Благодарностей
3
Баллы
8
Есть отдельный проект, задача которого - управлять потоками других шаблонов.

Нужно из этого проекта получить идентификаторы (любые: например, порты) активных инстансов другого проекта и положить их в список.

Вариант "записывать идентификатор во время старта инстанса" не подходит, потому что управляющий шаблон должен всегда знать какие номера инстансов запущены в данный момент у другого шаблона.

Вариант ZennoPoster.AllInstances тоже не подходит, т.к. он кладет в список вообще все порты без выборки, а нужно именно отдельно взятого шаблона.

Нуждаюсь в помощи.
 

telanholy

Client
Регистрация
01.06.2022
Сообщения
75
Благодарностей
26
Баллы
18
Поддерживаю вопрос, тоже интересно
 
  • Спасибо
Реакции: Marlboro

Marlboro

Client
Регистрация
01.10.2020
Сообщения
36
Благодарностей
3
Баллы
8
Ну может хотя бы можно как-то узнать от обратного: по номеру порта, к какому проекту он принадлежит? Тогда можно было бы положить порты в список через ZennoPoster.AllInstances, затем брать их по одному и "узнавать" принадлежность. Но тут главный вопрос: а как, собственно, узнать?

Это бы очень упорядочило управление потоками.
Готов заплатить за решение!
 
  • Спасибо
Реакции: telanholy

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
441
Баллы
63
Перелопатив форум и API, не удалось найти решение для получения числа активных потоков по определенному проекту не редактируя код других проектов.

Если есть возможность редактировать код других проектов, то можно в каждом проекте запустить дополнительный фоновый поток, который будет отстукивать в базу своими данными типа имени проекта и сгенерированного ид раз в секунду.
Основной проект при этом запрашивает у базы по имени проекта и времени количество записей.
К примеру берем записи у которых время последнего обновления не ранее 5 секунд от текущего.

Вообще управлением потоков занимается сам ZP а не пользователь.
У проекта вообще может не быть инстанса браузерного, поэтому привязка по портам не лучшее решение.

Проходим по списку проектов TasksList в цикле и получаем информацию по ним

Можно получить информацию по отдельному проекту методом GetTaskInfo

Максимальное количества потоков ExecutionSettings -> LimitOfThreads
Количество оставшихся заданий ExecutionSettings -> NumberOfTries

Можно получить состояние выполнения проекта методом GetState

Исходя из этих данных можно делать свои выводы.
 
  • Спасибо
Реакции: ferr9918 и volody00

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
775
Благодарностей
533
Баллы
93
Я мб чуток не не понял, зачем это все?
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
13 365
Благодарностей
5 012
Баллы
113
  • Спасибо
Реакции: Dr.Pipetka

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