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

Тема в разделе "Lotus - Программирование", создана пользователем savl, 3 авг 2012.

Наш партнер Genesis Hackspace
  1. savl

    savl Well-Known Member
    Команда форума Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.086
    Симпатии:
    155
    Есть база архивирования, самописка. В базе содержаться документы на разные системы, в документах указываются критерии архивирования. Есть шедульный агент, который бегает по вьюхе и запускает в каждой базе агент архивации.
    Есть так же в документе кнопка "Создать сейчас", по нажатию которой запускается тот же шедульный агент, но только для данного документа. В кнопке агент запускается через RunOnServer, но при нажатии клиент "подвисает". Будто ждет окончания работы архивного агента.
    Подскажите, что не так? Почему клиент ожидает завершения агента?

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

    nvyush Well-Known Member
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Создайте агента с включенной галкой Run in background client thread и пускайте агента архивирования из него.
     
  3. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.086
    Симпатии:
    19
    не несите фигню, для серверных агентов это не распространяется

    так и есть, как вариант запускать агент через консоль сервера или создать еще одну базу и там оставлять документ-запрос, который агент через 5-15 минут подхватит сам
     
  4. akat

    akat Well-Known Member
    Lotus team

    Регистрация:
    16 июн 2010
    Сообщения:
    243
    Симпатии:
    7
    > В кнопке агент запускается через RunOnServer, но при нажатии клиент "подвисает". Будто ждет окончания работы архивного агента.
    Все правильно, оно ждет завершения работы агента!

    http://ideajam.net/IdeaJam/P/ij.nsf/0/4F49...FB?OpenDocument
     
  5. nvyush

    nvyush Well-Known Member
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Буквы читать умеете? Я не предлагаю серверному агенту включать галку Run in background client thread, я предлагаю запускать серверного агента из агента, которому эта галка выставлена, чтобы он ждал завершения работы серверного агента, а клиент мог продолжать работу. У меня это работает.
     
  6. savl

    savl Well-Known Member
    Команда форума Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.086
    Симпатии:
    155
    не знал про второй параметр: Call notesAgent.RunOnServer( [ noteID$ ], [ IsWaitExecution ] ) да и в 8.5.3 его нет.
    склоняюсь к запросу через консоль
    Всем спасибо, через пару часов закрою.
     
  7. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Невозможно знать о том, чего нет :D
     
  8. savl

    savl Well-Known Member
    Команда форума Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.086
    Симпатии:
    155
    VladSh
    Да мой английский меня подвел)))
    Даже стыдно...
    Выбрал решение с консольной командой.
     
  9. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Для информации.
    Эта @-команда не ждёт:
    Код (Text):
    @Command([AgentSetServerName]; "AGENTNAME"; @ServerName)
    Но из Evaluate, к сожалению, не работает.
     
Загрузка...
Похожие Темы - RunOnServer ждет окончания
  1. Amfion
    Ответов:
    6
    Просмотров:
    969
  2. imendan
    Ответов:
    25
    Просмотров:
    3.909
  3. Xalet
    Ответов:
    27
    Просмотров:
    10.208

Поделиться этой страницей