Запуск нескольких агентов

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#1
Всем привет!
В базе есть несколько шедульных агентов с интервалом запуска каждые 5 минут. Агенты на Java с подключением одной и той же библиотеки
В задачах сервера агенты есть. Время запуска практически одинаковое, но не смотря на это - агенты запускаются последовательно. Возможен ли параллельный запуск агентов по шедулеру из одной базы?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
271
#2
Возможен ли параллельный запуск агентов по шедулеру из одной базы?
через агент пускатель?
НО треды на запуск агентов (их кол-во) - тонкая материя и ЕМНИП - завязана на кол-во ядер процов (могу наврать)
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#3
Тоже думаю через агент-пускатель. Это один из вариантов и самый простой.
Второе - думаю реализовать многопоточность в агенте.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#4
с агентом-пускателем возникает вопрос... как узнать во вложенном агенте, что он уже запущен?
кроме использования документа-профиля
 

savl

Lotus team
28.10.2011
2 136
105
#5
NickProstoNick, думаю никак.
Ибо у самого идея сделать именно через запускатель:
Запускатель кидает команду на старт агента через консоль.
Агент стартует и пишет в свой "профайл" - "старт" + когда
, затем "конец" + когда.
В коде самого агента сделать обращение к "профайлу" для определения признака "стоп" для прерывания агента.
На сервере сделать 3 потока для агентов
Прописывать в "профайл" агента время и статистику работы, а так же врем следующего запуска.
Агентов сделать шедулийными тригер: Never/None + выключить в дизайнере.
То есть единственный активный агент на сервере - запускатель, остальные стартуют через консоль.
Можно еще попробовать сервера попробовать выбирать, где какой агент стартует, тогда еще интереснее получается.
 

rinsk

Lotus team
12.11.2009
900
44
#7
В коде самого агента сделать обращение к "профайлу" для определения признака "стоп" для прерывания агента.
Профайл - это хорошо... только не надежно, когда начинает драться сам с собой. Перешел на док с UID как ф-ция от имени агента базы и т.п.
 

savl

Lotus team
28.10.2011
2 136
105
#8
Профайл - это хорошо... только не надежно, когда начинает драться сам с собой. Перешел на док с UID как ф-ция от имени агента базы и т.п.
в данном случае профайл это не тот профайл. Имеется в виду просто настроечный док для агента, где все прописано.
 

rinsk

Lotus team
12.11.2009
900
44
#9
в данном случае профайл это не тот профайл. Имеется в виду просто настроечный док для агента, где все прописано.
Да, выразился не верно) Профилю-профилево, а защита от повторного запуска агента нужна. Иногда проще пннуть его через program док сервера.
P.S. - почему встрял: делал такие пускачи. гадит в консоль оно конечно знатно)
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#10
ну в общем сделал через пускач, а в переменную окружения устанавливаю флаг запуска.
Пока работает, но опасаюсь таймаута. Надо как-то флаги сбрасывать, если агент отвалится