Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
О Notes
Советы
Шаблоны и примеры
Литература
Презентации
 
Всё о задаче AdminP. Часть вторая   Во второй части мы завершаем рассмотрение AdminP. В ней рассмотрены запросы междоменного администрирования и способы управления функциями AdminP с помощью настроек документа сервера, команд консоли сервера, файла Notes.ini и интервалов очистки базы данных. В этой статье предполагается, что вы опытный администратор Domino и прочитали первую часть
О Notes Читать статью
 
Всё о задаче AdminP. Proxy-действия в R5 и Domino 6   Приложение к статье об административном процессе
О Notes Читать статью
 
Всё о задаче AdminP. Часть первая   Перевод классической статьи 2003-его года о задаче административного процесса (AdminP). Очень полезна для понимания работы механизма этой задачи. В первой части статьи описаны компоненты задачи AdminP, как они работают, и как их использование помогает сделать работу администратора Domino проще. Задача AdminP (сакращённо от Administration Process, Административный процесс) работает с базой административных запросов (Administration Requests, admin4.nsf)
О Notes Читать статью
 


О Notes

Главная   Библиотека   О Notes

Агенты и задача Agent Manager. Часть 2

Николай Норкин

Агенты и задача Agent Manager. Часть 1>>>
Агенты и задача Agent Manager. Часть 2

Agent Manager. Настройки и мониторинг задачи
Кроме параметров, содержащихся в серверном документе адресной книги сервера, на работу Agent Manager оказывают влияние следующие переменные из файла NOTES.INI

AMgr_NewMailEventDelay. Уже упоминавшаяся переменная. Задает время задержки (в минутах) перед выполнением агента, запускаемого по факту доставки почты (от момента обнаружения события до выполнения агента). Значение по умолчанию 1

AMgr_NewMailAgentMinInterval. Также упоминавшаяся выше переменная. Задает минимальное время (в минутах), которое должно пройти между последовательными выполнениями одного и того же агента, запускаемого по факту доставки почты. Значение по умолчанию 0

AMgr_DocUpdateEventDelay. Задает время задержки (в минутах) перед выполнением агента, запускаемого по факту создания или изменения документа в базе (от момента обнаружения события до выполнения агента). Значение по умолчанию 5

AMgr_DocUpdateAgentMinInterval. Задает минимальное время (в минутах), которое должно пройти между выполнением агента, запускаемого по факту создания/изменения документа в базе, на одном и том же документе. Значение по умолчанию 30

AMgr_SchedulingInterval. Определяет частоту проверки (в минутах) расписания запуска агентов на предмет поиска агентов, которые необходимо запустить по расписанию. Диапазон значений 1 - 60. Значение по умолчанию 1

AMgr_UntriggeredMailInterval. Определяет частоту (в минутах) проверки очереди агентов, запускаемых по событию приходы почты, на предмет наступления события - прихода этой самой почты. Диапазон значений 1 - 1440. Значение по умолчанию - 60

AMgr_DisableMailLookup. Значение 1 отключает проверку почтового сервера автора почтового агента. При включенной проверке (переменная равна 0 или отсутствует) агенты Before New Mail Arrives и After New Mail has Arrived выполняются на сервере, если тот указан в качестве почтового сервера в документе Person пользователя, сохранившего (подписавшего) агента. По умолчанию параметр не установлен (проверка выполняется)

AMgr_WeekendDays. Для агентов, работающих по расписанию, доступна опция Don't run on weekends (Не запускать в выходные дни), запрещающая выполнение этого агента по выходным. Данный параметр содержит список дней (разделитель - запятая), которые считаются выходными (воскресенье - 1, понедельник - 2, ... суббота - 7). Значение по умолчанию 7, 1 (суббота, воскресенье)

Log_AgentManager. Включение протоколирования запуска агентов. Значение 1 требует протоколировать (на консоли сервера и в журнале работы сервера Notes Log) факт запуска каждого агента, а значение 0 - не протоколировать, значение 2 требует полного протоколирования работы AgentManager

Debug_AMgr. Установка этого параметра дает дополнительную информацию при отладке работы агента. Этот параметр может содержать одно или несколько значений из следующего списка

  • c - для вывода параметров управления агентом
  • e - для вывода информации о событиях Agent Manager
  • l - для вывода отчетов о загрузке агентов
  • m - для вывода предупреждений об использовании агентами памяти
  • p - для вывода статистики работы агентов
  • r - для вывода отчетов о выполнении агентов
  • s - для вывода информации о расписании Agent Manager
  • v - расширенный режим, который предоставляет больше информации об использовании ресурсов, расписании и очереди агентов
  • * - для протоколирования всей информации (равносильно включению всех флагов). Включение этой опции предоставляет полную информацию для отладки, но загружает сервер, снижая время ответа (response time) в среднем на 5%
    Информация отладки идет на консоль сервера и в журнал работы сервера. Если будет указан как параметр Log_AgentManager, так и параметр Debug_AMgr, установка последнего будет иметь приоритет

    DominoAsynchronizeAgents. Определяет, могут ли агенты, вызванные браузерами (web-агенты) запускаться последовательно (значение 0) или параллельно (асинхронно) - значение 1

    WebAgentTimeLimit. Устанавливает максимальное время работы (в секундах) для web-агентов. После этого происходит снятие агента. Когда сервер закрывает агента, ресурсы, которые агент использовал могут быть оставлены открытыми

    Мониторинг задачи Agent Manager. Команды консоли
    Установка параметров протоколирования LogAgentManager или Debug_AMgr позволит проводить анализ работы задачи и выполнения конкретных агентов. Но для мониторинга в реальном режиме необходимо пользоваться консолью сервера Domino. Очень часто и поиск причин некорректной работы серверных агентов следует начинать с запроса текущего состояния сервера и непосредственно задачи
    Информацию о текущем состоянии задачи Agent Manager можно получить, задав на консоли сервера следующие команды.

    Show tasks. Среди прочих задач, работающих на сервере, содержится информация о состоянии Agent Manager и его сессий (threads - в приведенном ниже примере их две, и одна из них свободна)
      Agent Manager Executive '1': Idle
      Agent Manager Executive '2': Running agent 'Test' in 'DOMINO\DATA\test.nsf'
      Agent Manager Idle

    Tell amgr schedule
    Команда запрашивает список всех агентов, намеченных к выполнению на текущий день (очередь Agent Manager). Agent Manager различает три различные очереди: Очередь на выполнение (включая уже выполняющиеся агенты и те, чья очередь на выполнение подошла, но они не запущены, поскольку задача занята выполнением предыдущего агента). В левой колонке таких агентов высвечивается литера E (Eligible to run). Литерой S (Sheduled) обозначены агенты, томящиеся в очереди в ожидании своего времени. Третью очередь (V) составляют событийные агенты (почтовые и на создание/модификацию документов)
      >Tell amgr schedule
      E S 04:03 PM Today agent1 CENTRAL.NSF
      S S 05:04 PM Today agent2 CENTRAL.NSF
      V U agent3 CENTRAL.NSF
    С наступлением времени запуска агенты по расписанию проходят процедуру определения прав на запуск и попадают из очереди ожидания (S) в очередь на исполнение (E). Событийные агенты при наступлении события попадают из своей очереди (V) в очередь ожидания (S) и после паузы, вызванной настройкой параметров задержки, и проверки - в очередь на исполнение.
    Информация из второго столбца показывает триггер агента. S - агенты по расписанию (sheduled), M - на приход новой почты (mail) и U - агенты, работающие по новым и измененным документам (updated)

    Tell amgr status
    Команда позволяет увидеть информацию о текущем состоянии Agent Manager (сессии задачи, количество агентов в очередях, параметры настройки) и отчет о работе Agent Manager с момента последней перезагрузки (общее количество выполненных агентов и общее время их выполнения).
      >Tell amgr status
      05/26/03 10:30:15 AM AMgr: Status report at '05/26/03 10:30:15 AM'
      05/26/03 10:30:15 AM Agent Manager has been running since '12/22/97 02:18:25 PM'
      05/26/03 10:30:15 AM There are currently '1' Agent Executives running
      05/26/03 10:30:15 AM There are currently '4' agents in the Scheduled Task Queue
      05/26/03 10:30:15 AM There are currently '0' agents in the Eligible Queue
      05/26/03 10:30:15 AM There are currently '0' databases containing agents triggered by new mail
      05/26/03 10:30:15 AM There are currently '0' agents in the New Mail Event Queue
      05/26/03 10:30:15 AM There are currently '3' databases containing agents triggered by document updates
      05/26/03 10:30:15 AM There are currently '3' agents in the Document Update Event Queue
      05/26/03 10:30:15 AM AMgr: Current control parameters in effect:
      05/26/03 10:30:15 AM AMgr: Daily agent cache refresh is performed at '12:00:00 AM'
      05/26/03 10:30:15 AM AMgr: Currently in Daytime period
      05/26/03 10:30:15 AM AMgr: The maximum number of concurrently executing agents is '1'
      05/26/03 10:30:15 AM AMgr: The maximum number of minutes a LotusScript/Java agent is allowed to run is '10'
      05/26/03 10:30:15 AM AMgr: The maximum percentage of time agents are allowed to execute is '90'
      05/26/03 10:30:15 AM AMgr: Executive '1', total agent runs: 414
      05/26/03 10:30:15 AM AMgr: Executive '1', total elapsed run time: 273

    Tell amgr debug
    Эта команда используется для того, чтобы отобразить или изменить режимы отладки Agent Manager (смотри описание переменной Debug_AMgr). Изменения вступают в силу незамедлительно и не требуют перезагрузки сервера или задачи (но не изменяют значение переменной Debug_AMgr, и, соответственно, действуют до перезагрузки задачи).
      >Tell amgr debug
      05/26/03 02:03:15 PM AMgr: Current debug control setting is 'mecvrspl'
    Tell amgr exit
    Завершение работы Agent Manager

    Load amgr
    Запуск задачи Agent Manager. Поскольку может быть запущена только одна задача, то при работающем Agent Manager эта команда приведет лишь к предупреждению о том, что задача уже запущена.

    Возможные проблемы при выполнении агентов
    Agent Manager не работает
  • Agent Manager не запускается при старте сервера. Возможная причина - не прописана задача в списке задач, стартуемых при загрузке сервера в переменной ServerTasks файла настроек NOTES.INI
  • Не открываются сессии (threads) задачи. Возможно, в документе сервера в серверной адресной книге неверно прописаны время начала/окончания дневного/ночного промежутка (секция Agent Manager)
  • Недостаточно системных ресурсов для инициализации задачи Agent Manager. Увеличьте системные ресурсы. Второе решение (не самое лучшее) - для сервера Domino версии ниже 4.6 увеличить значение параметра Max % busy before delay в серверном документе

    Агент не запускается
  • Автору агента запрещен запуск агентов на сервере. Просмотрите соответствующие поля серверного документа. Внесите в них изменения либо сохраните агента от лица пользователя, которому предоставлены права на запуск агента. А лучше всего... не делайте ничего. Скорее всего этот агент будет только мешать вам. Если права прописаны, значит это кому-нибудь нужно...
  • Автору разрешен запуск агентов на сервере, но агент все равно не запускается. Возможно, информации в полях серверного документа оказалось слишком много (превышен лимит в 256 символов). В этом случае на консоль сервера выкидывается следующее сообщение об ошибке: 05/26/03 14:05:45 AMgr: Agent execution ACL is longer than 256 characters. Use groups. Используйте группы. Судя по fix list, должно быть исправлено в R 4.6.2
  • Сервер не может проверить правильность подписи автора агента. Выпустите соответствующий кросс-сертификат, либо переподпишите агента
  • Конфликты по времени также могут останавливать работу агента. Если время, на которое назначен агент, не входит ни в промежуток дневного, ни в промежуток ночного времени, агент не будет выполняться. Отредактируйте поля установок дневного и ночного времени серверного документа
  • Агент не назначен для работы на этом сервере. Переопределите сервер, на котором должен выполняться агент
  • Сервер не имеет доступа к базе данных. Внесите изменения в Список управления доступом (ACL) базы
  • Запуск фоновых агентов запрещен в Свойствах базы данных (поднята опция Отключить для базы данных фоновые агенты)

    Почтовый агент не запускается
  • По умолчанию, почтовый агент выполняется на сервере, являющемся почтовым для автора агента (а не для владельца почтовой базы!). Почтовый сервер определяется по документу пользователя серверной адресной книги. Установка переменной AMgr_DisableMailLookup со значением 1 в файле настроек снимает данное ограничение
  • Почтовый агент содержится в базе, не имеющей почтового адреса в системе. Agent Manager не просматривает такие базы на приход почтовых сообщений. Также не просматриваются внутренние базы системы - такие как mail.box
  • Почтовый агент, написанный на @-формулах, сохранен в формате R3 (для поддержки совместимости с более ранними версиями). К сожалению, сервер не всегда может интерпретировать код таких агентов. Можно принудительно сохранить агента в формате версии Notes 4. В конструкторе для этого достаточно нажать кнопку Options...(Параметры...) в окне агента, выбрать любую опцию и закрыть окно кнопкой Ok. При сохранении возникнет предупреждение о сохранении агента в формате V4.
  • Агент с триггером До прихода новой почты должен быть всего один для каждой почтовой базы

    Агент правильно отрабатывает при тестовом запуске вручную, но не запускается по расписанию
  • При написании агента использовался код, не совместимый с версией сервера, но совместимый с версией клиента, на котором агент тестировался
  • В коде агента использовались вызовы или определения интерфейсных классов и возможностей. Такой агент не будет выполняться на сервере, отображая на консоли следующее сообщение: Error loading USE or USELSX module: XXX
  • В коде агента использовались подключения библиотек, содержащих вызовы или определения интерфейсных классов или возможностей. На консоли высвечивается следующая строка: 05/26/03 01:35:58 PM AMgr: Agent ('test' in 'Test.nsf') error message: Error loading USE or USELSX module: testlib
  • Агент содержит обращение к функциям операционной системы, а сервер работает под управлением другой системы
  • Запуск фоновых агентов запрещен в базе данных
  • В программном коде содержится обращение к ресурсам сервера по имени сервера, в то время как серверный агент должен использовать локальные ресурсы

    Агент запускается, но не завершает свою работу
  • Время работы агента LotusScript/Java превышает определенное в серверном документе как максимальное время выполнения, и Agent Manager снимает этого агента. Перенесите агента на ночное время
  • В коде агента используется обращение к функциям внешних программ, которые, в отличие от интерфейсных классов собственно Notes, могут пытаться организовать диалог с пользователем, приостановив работу агента до реакции пользователя (например, закрытие модального окна). Поскольку описанный сценарий происходит на сервере, и задача Agent Manager снять такой агент по тайм-ауту не может, диагностика подобного рода ошибок затруднена
  • Агент с триггером До прихода новой почты работает по документам, которые еще не сохранены в базе. Ряд функций вызывает ошибку исполнения
  • Кроме того, ограничение времени выполнения этого типа агентов, устанавливается в своем месте в документе Configuration сервера (см. в первой части раздел Настройки и мониторинг задачи) [Спасибо за вопрос Radiy V Radutny]

    Агент не запускается в назначенное время
  • Сессии Agent Manager были заняты выполнением других агентов. Перенесите время выполнения на время с меньшей загрузкой Agent Manager
  • Конфликт параметров ночного и дневного отрезка в серверном документе. Откорректируйте временной промежуток
  • Параметры проверки очередей и (или) задержки выполнения агента, прописанные в NOTES.INI, слишком велики

    Escrow агент не работает
  • Агент, отсылающий учетные записи и пароли пользователей в специальную базу (документированная возможность начиная с релиза 5.0, до этого было не документировано). Агент не будет работать, если 1). не имеется никакого документа пользователя в серверной адресной книге, которая содержала бы предопределенное имя Escrow Agent в поле FullName; 2). более одного документа содержат имя Escrow Agent в поле FullName; 3). документ пользователя с именем Escrow Agent не содержит публичного ключа и агент не может зашифровать почтовое сообщение

    Пользователь не может создать агента
  • Пользователь ограничен в своих возможностях списком управления доступом (Access Control List, ACL) базы

    Активированный (Enabled) агент с утра оказывается отключенным
  • По умолчанию, задача Design запускается ночью. Она обновляет дизайн баз из шаблонов. В том числе выполняется и обновление дизайна агентов, при этом снимается флажок активации агента, если он снят в шаблоне. Запретите обновление дизайна агента, установив в окне Свойств агента опцию Do not allow design refresh/replace to modify (Заблокировать отражение изменений шаблона)
     
      Опубликовано — 06/25/2003 |    



    Добавить комментарий
    Имя * :
    e-mail
    Комментарий * :
    Код подтверждения * :

  • Мероприятия
    Пресс-релизы
    Биржа труда
    Последнее на форуме
     
    А так же:
    Как удалить профиль?
    16.04.2016 00:08:51
    Скопировать в буфер поле документа
    24.05.2015 08:55:52
    Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
    16.04.2015 16:49:58
     
    © LOGOSPHERE.RU