Можно ли запустить Агента именно на серверной реплике БД, вызывая его

Тема в разделе "Lotus - Программирование", создана пользователем cola, 5 ноя 2007.

  1. cola

    cola Гость

    Есть БД на сервере и ее реплика на локале.
    Есть агент (не шедульный), который при вызове проверяет где он запущен если на сервере, то пытается вызвать себя (т.е. копию себя под др. именем, т.к. рекурсивный вызов агентов запрещен) именно на серверной реплике БД, агент с локала связывается с по репликаИД с серверной БД, и имиеннно из нее берет агента (свою копию) через метод db.GetAgent, и далее этому агенту делается RunOnServer

    Проблема в том что запускается агент, все равно, на сервере-локале, а не на сервере-сервере.

    Менял у агента свойство ServerName, и save ему потом делал, а все равно на локале запускается.
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: cola
    Почитайте хэлп,
     
  3. cola

    cola Гость

    То, что так написано в хелпе, не мешает запускать агенты именно на сервере-сервере из агента на сервере-локале, только вот эти вызываемые агенты, они из других БД, причем не важно есть ли у этой БД реплика на данном конкретном локале, агенты работают именно на сервере, проблема именно в том, как вызвать свои агенты к исполнению именно на сервере-сервере над серверной репликой...
     
  4. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    толкай смита в серверной консоли..
     
  5. Sandr

    Sandr Гость

    Низя запускать локальные агенты на сервере... Вы представляете, если бы такая дыра была, что бы ло бы?
     
  6. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    для сервера он не локальный.. поэтому можно..
    можно агент сделать по расписанию и не запускать его никогда, а запускать с помощью другого агента
    @Command([ToolsRunMacro];"agent")

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

    это изврат конечно..
     
  7. Vitizan

    Vitizan Гость

    Привет всем, кто подскажет, как это дело решить "error message: java.lang.NoSuchMethodError: lotus.domino.Session: method createColorObject()Llotus/domino/ColorObject; not found"
    Агент запускается по расписанию на сервере. дает ошибку, а вручную работает
     
  8. Sandr

    Sandr Гость

    сори... не очень внимательно прочел первый пост... подумалось, что нужно наоборот...

    Вопрос, а зачем такое делать? Пусть себе агент отрабатывает на сервере, но объект его работы может быть любая переданная ему БД, если у агента есть нужные права доступа к этой БД...

    Делаете настроечный документ, в нем указываете путь к базе, на которой нужно выполнить определенную операцию, агент запускается на сервере, лезет в этот настроечный дкоумент, получает путь к базе и соответсвенно саму базу, делает в ней все что надо и все... Не вижу сложности... Правда, это если нужная база все же не локальная... :)
     
  9. K-Fire

    K-Fire Гость

    Если не нужна немедленная реакция и данных для агента немного, то можно замутить следующую схему:
    В серверной реплике каждые 5 минут запускается агент, который ищет специальный документ, обрабатывает его и удаляет.

    А агент на локальной реплике создает в серверной такие специальные документы, заполняя их нужными данными.
     
  10. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Для запуска агента из другого агента (с др.сервера) требуются особые права. См. док-т Server/Security/~trusted Servers
     
Загрузка...

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