Запуск агента

Тема в разделе "Lotus - Программирование", создана пользователем doc, 1 фев 2010.

  1. doc

    doc Гость

    Запускаю агент на серевере с помощью agent.RunOnServer(doc.NoteID)
    Но пока агент не отработает интерфейс пользователя "висит", т.е. юзер ничего не может делать.
    Можно ли запустить агент "ассинхронно". Т.е. не ждать пока оно отработает? Как это можно сделать?
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Сделать агента с поднятой галкой "Run in background client thread" и уже в нём пускать твоего серверного агента.
     
  3. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    Omh
    зачем такие сложности? B)

    doc
    пошлите команду в консоль сервера на запуска агента
    call ses.SendConsoleCommand({tell amgr run ...
     
  4. K-Fire

    K-Fire Гость

    This method can be used in a scheduled agent on a server to send console commands to another server. The signer of the agent must have privilege to "Run unrestricted methods and operations" on the server receiving the console command.

    If this method is executed on a client, the current user must have privilege under "Full Remote Console Administrators" on the server receiving the console command.
     
  5. doc

    doc Гость

    А параметры ему передать можно? Я имею ввиду ID документа с параметрами.
     
  6. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    doc
    предпочитаю клепать специальные доки-запросы, в которых вся нужная инфа для агента содержится
     
  7. doc

    doc Гость

    Что значит доки-запросы?
     
  8. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    doc
    новый док, в котором в спец. поле содержится унид дока, который нужно обработать, плюс еще поля, которые подсказывают как именно нужно обработать

    пофанатзируйте, у вас всё получится ;)
     
  9. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Обычно агенту в качестве параметра передаётся именно NoteId такого документа-запроса. Как без передачи параметров серверному агенту можно надёжно сообщить, какой из документов-запросов ему следует использовать? При том, что один и тотже агент могут пинать разные пользователи.
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    через очереди, ониж поименные ;), хотя выигрыш сомнителен
     
  11. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Если ты про очереди на MQCreate из C API, тогда не годится, т.к. речь о запуске агента с клиента сервере.

    Можно очередь на документах строить. Но нужно попариться с реализацией надёжной критической секции для выскр*цензура*ия доков из очереди.
     
  12. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    я бы лучше схему перестроил, что агент запускается сам и никто его не пинает и спокойно отрабатывает запросы пользователей убедившись что док не залочен
     
  13. doc

    doc Гость

    Я так и сделал. Пользователь оставляет реквесты для агента. Агент стартует ночью и читает оставленные для него реквесты.
     
Загрузка...

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