RunOnServer ждет окончания работы агента

  • Автор темы Автор темы savl
  • Дата начала Дата начала

savl

Lotus Team
28.10.2011
2 630
312
BIT
708
Есть база архивирования, самописка. В базе содержаться документы на разные системы, в документах указываются критерии архивирования. Есть шедульный агент, который бегает по вьюхе и запускает в каждой базе агент архивации.
Есть так же в документе кнопка "Создать сейчас", по нажатию которой запускается тот же шедульный агент, но только для данного документа. В кнопке агент запускается через RunOnServer, но при нажатии клиент "подвисает". Будто ждет окончания работы архивного агента.
Подскажите, что не так? Почему клиент ожидает завершения агента?

Пояснения:
Весь дизайн подписан админ-сервером, сам запуск агента происходит на другом сервере. С правами серверов все в порядке.
У шедульного агента триггер на документы стоит None, работает каждый день.
Вызов агента архивирования для базы делаю через call ArjAgent.Runonserver(param.Noteid)
param - документ настройки архивирования, к которому агент архивирования стучится, чтобы получить критерии.
 
Создайте агента с включенной галкой Run in background client thread и пускайте агента архивирования из него.
 
Создайте агента с включенной галкой Run in background client thread и пускайте агента архивирования из него.
не несите фигню, для серверных агентов это не распространяется

Будто ждет окончания работы архивного агента.
так и есть, как вариант запускать агент через консоль сервера или создать еще одну базу и там оставлять документ-запрос, который агент через 5-15 минут подхватит сам
 
> В кнопке агент запускается через RunOnServer, но при нажатии клиент "подвисает". Будто ждет окончания работы архивного агента.
Все правильно, оно ждет завершения работы агента!

 
Создайте агента с включенной галкой Run in background client thread и пускайте агента архивирования из него.
не несите фигню, для серверных агентов это не распространяется
Буквы читать умеете? Я не предлагаю серверному агенту включать галку Run in background client thread, я предлагаю запускать серверного агента из агента, которому эта галка выставлена, чтобы он ждал завершения работы серверного агента, а клиент мог продолжать работу. У меня это работает.
 
не знал про второй параметр: Call notesAgent.RunOnServer( [ noteID$ ], [ IsWaitExecution ] ) да и в 8.5.3 его нет.
склоняюсь к запросу через консоль
Всем спасибо, через пару часов закрою.
 
VladSh
Да мой английский меня подвел)))
Даже стыдно...
Выбрал решение с консольной командой.
 
Для информации.
Эта @-команда не ждёт:
Код:
@Command([AgentSetServerName]; "AGENTNAME"; @ServerName)
Но из Evaluate, к сожалению, не работает.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!