Как узнать состояние задания (Запущено/Остановлено)?

Enigma

Client
Регистрация
16.06.2017
Сообщения
187
Благодарностей
31
Баллы
28
Есть такая задача. Нужно сделать некий stat.php (расположен на одном локальном веб-сервере с Zennoposter'ом), который будет выводить, запущенно ли то или иное задание.
Скажем, зашли на stat.php и увидели:

"Имя задания 1" - Запущено
"Имя задания 2" - Остановлено
"Имя задания 3" - Остановлено

Есть ли идеи, как такое сделать без костылей?

Первые идеи в голову приходят такие:
1. При работе проекта постоянно оставлять след в каком-нибудь файле .txt, а stat.php будет ориентироваться на этот файл. Плюс: очень просто сделать. Минус: информация будет не оперативной. Скажем, если выключить проект вручную в Zennoposter, то запрос к stat.php уже покажет ложный результат.

2. Сделать батник, который будет возвращать актуальную информацию о задании по его имени и записывать в файл. Скрипт stat.php будет запускать этот батник через функцию exec() и тут же считывать актуальный результат.
Либо запускать этот батник в планировщике заданий, результат будет записываться в файл, а stat.php будет просто считывать этот файл.
Плюсы: оперативность. Минусы: как написать такой батник?

Вот через кубик С# можно легко узнать количество потоков по имени задания, а как это сделать батником?

Может, будут еще какие-нибудь идейки? Возможно, я упускаю какое-то более простое решение. Буду очень признателен за любое мнение!
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Есть ли идеи, как такое сделать без костылей?
Как вариант, сделать шаб отслеживающий состояние потоков, а уже он будет сообщать скрипту об изменениях.

Информация о инстансе:
GetState (почему-то в BotUI)
GetTaskInfo

Остальное есть на форуме.
 

Enigma

Client
Регистрация
16.06.2017
Сообщения
187
Благодарностей
31
Баллы
28
Спасибо за мысль. Насколько я понимаю, указанные функции могут работать только с ID проекта. Есть ли то же самое для имени проекта?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
Задача нетривиальная. Я реализовывал подобное для клиента, поэтому готовое решение выложить не могу, - просто опишу как делал. Каждый шаблон при запуске получает свой ID и записывает его в базу или текстовый файл. Это делается одним сниппетом.
Управляющий шаблон получает идентификатор задачи и определяет статус исполняемого шаблона, количество попыток и прочие данные. На этом основании принимаются решения.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
Идентификаторы закрытых шаблонов можно получить при создании .bat файлов в зеннопостере.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Идентификаторы закрытых шаблонов можно получить при создании .bat файлов в зеннопостере.
Можно и так, но это будет несколько геморно, тем более, когда можно получить все имена с guid'ами сразу в php скрипт и уже там, по ним, искать и использовать.
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113

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