Руководство по настройке сценария «Агент рассылки входящих заданий»

Опубликовано:
22 июля 2010 в 11:50
  • 42

В связи с частыми обращениями в службу поддержки DIRECUM за консультациями по настройке сценария «Агент рассылки входящих заданий», предлагаем вашему вниманию инструкцию по его настройке для DIRECTUM 4.6.1.

Сценарий «Агент рассылки входящих заданий» предназначен для оповещения исполнителей о входящих заданиях по электронной почте. Для работы сценария, необходимо заполнить справочник «Контактные лица организаций» и настроить систему DIRECTUM для работы с почтой, поэтому сначала поговорим об этом.

Заполнение справочника «Контактные лица организаций»

Для автоматической рассылки уведомлений на e-mail, необходимо настроить систему DIRECTUM таким образом, чтобы каждому пользователю, для которого планируется рассылка, соответствовала одна запись в справочнике «Персоны», а каждой персоне - соответствовала одна запись в справочнике «Контактные лица организации».

Справочник «Контактные лица организаций» не рекомендуется заполнять «вручную» -  открыв справочник и создавая новые карточки стандартным способом. Корректно заполнять данный справочник следует из карточки справочника «Персоны», с помощью кнопки Контакт. лица:


 

Для создания записей в справочнике «Контактные лица организаций», выполните следующие шаги:

  1. Откройте справочник Персоны. Откройте карточку.
  2. По кнопке Контакт. лица, перейдите в справочник «Контактные лица организаций».
  3. Создайте/откройте карточку для текущей персоны. В соответствующем поле, заполните e-mail, на который будут приходить уведомления.


 

Проверка электронной почты

Т.к. агент рассылает письма через почтовый ящик, необходимо убедиться, что данный почтовый ящик работает и почтовый сервер доступен в сети. Для этого выполните следующие шаги:

  1. Установите почтовый клиент (пример: MS Office Outlook 2007) на компьютер, с которого будет происходит отправка электронной почты системой DIRECTUM.
  2. Настройте учетную запись для почтового клиента, которая будет использоваться для автоматической рассылки. Назначьте соответствующий электронный адрес (пример: robot@demodirectum.ru)
  3. Проверьте работу исходящей и входящей почты, отправив письмо, адресованное самому себе.

Если почта работает корректно, переходите дальше, иначе – обратитесь к системному администратору почтового сервера.

Работа с почтой в DIRECTUM

Параметры работы с электронной почтой задаются с помощью  сценария «Установки модулей системы DIRECTUM» в группе установок «Работа с почтой» (Компоненты\ Утилиты администратора\ Установки системы и администрирование БД). Для отправки почты, могут использоваться два типа почтовых серверов:

●   POP3/SMTP

●   Exchange.

Рассмотрим настройку сценария «Установки модулей системы DIRECTUM» для каждого отдельно.

POP3/SMTP

Для настройки параметров работы с электронной почтой через POP3/SMTP, выполните следующие шаги:

  1. Запустите сценарий «Установки модулей системы DIRECTUM» (Компоненты\ Утилиты администратора\ Установки системы и администрирование БД).
  2. Выберите группу установок «Работа с почтой».
  3. Выберите тип почтового сервера входящей почты: POP3
  4. Укажите адрес почтового сервера, порт, имя пользователя и пароль учетной записи, которая будет использоваться для получения входящей почты.

Пример:

Сервер входящей почты (POP3): DemoDIRECTUM (сетевое имя cервера, на котором находится почтовый сервер)

Порт POP3-сервера: 110

Имя пользователя: robot

Пароль: Password


 

5. Нажмите кнопку Далее >>

6. Выберите тип почтового сервера исходящей почты: SMTP

7. Настройте параметры исходящей почты аналогично пункту 4.

Пример:

Имя отправителя почты: DIRECTUM (Имя указывается в параметре From (отправитель) электронного письма, можно указать произвольное)

Электронный адрес отправителя почты: robot@demodirectum.ru

Имя программы-отправителя почты: DIRECTUM (имя программы, которой было отправлено электронное письмо, можно указать произвольное)

Сервер исходящей почты (SMTP): DemoDIRECTUM  (сетевое имя компьютера, на котором находится почтовый сервер)

Порт SMTP-сервера: 25

SMTP-серверу требуется проверка подлинности: да (Признак проверки подлинности при подключении к серверу исходящей почты)

Имя пользователя: robot

Пароль: Password 

 

7. Нажмите кнопку Готово.

Exchange

Для настройки параметров работы с электронной почтой через Exchange, выполните следующие шаги:

  1. Запустите сценарий «Установки модулей системы DIRECTUM» (компоненты администратора, установки системы и администрирование БД).
  2. Выберите группу установок «Работа с почтой».
  3. Выберите тип почтового сервера входящей почты: Exchange


4. Нажмите кнопку Далее >>

5. Укажите имя профиля Exchange. Узнать имя конфигурации Exchange профиля можно следующим образом: откройте меню Пуск\ Панель управления. Выберите группу «Почта». В открывшемся окне, в разделе конфигурации – нажмите кнопку «Показать». Текст в окне: на компьютере установлены следующие конфигурации: «ИмяКонфигурации», где «ИмяКонфигурации» - и есть имя профиля Exchange, которое следует вводить в DIRECTUM (на скриншоте - Outlook).

  


6. Выберите тип почтового сервера исходящей почты: Exchange. Укажите имя профиля Exchange аналогично пункту 5. Пример: Outlook.

 


 7. Нажмите кнопку Готово.

Проверка корректности настроек

Все подготовительные работы выполнены, теперь следует выполнить проверку корректности работы агента. Сделаем это следующим образом:

  1. Создайте задачу пользователю, немного подождите, убедитесь, что задание для пользователя пришло, и оно в состоянии «не прочтено».
  2. Запустите сценарий «Агент рассылки входящих заданий» «вручную» из компоненты Сценарии, с помощью кнопку Выполнить.
  3. Проверьте почтовый ящик пользователя, для которого была создана задача.

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

Настройка запуска агента

Для регулярного запуска агента рассылки по расписанию, рекомендуется использовать планировщик заданий Windows. Для настройки планировщика заданий выполните следующие шаги (настройка описана для Windows 2008).

  1. Запустите планировщик заданий Windows (Панель управления\ Администрирование\ Планировщик заданий).
  2. Создайте новую задачу для планировщика заданий, укажите следующие параметры:

действиезапускать программу: sajobrunner.exe  

(обычно находится по адресу: C:\Programm Files\Common Files\NPO Computer Shared\IS-Builder)

аргументы запуска-S="<имя sql сервера >" -D="<имя БД DIRECTUM>" -CT="Script" -F="Агент рассылки входящих заданий"

Пример: sajobrunner.exe -S="DEMODIRECTUM"  -D="DIRECTUMDataBase" -CT="Script" -F="Агент рассылки входящих заданий"

 

Для запуска сценария, вы также можете использовать следующую форму:

sblauncher.exe -SYS="DIRECTUM" -CT="Script" -F="Агент рассылки входящих заданий" -N="Administrator" -W="Password",

но такая форма менее предпочтительна при работе на сервере, т.к. sblauncher.exe, в отличии от sajobrunner.exe, не подавляет вывод исключений и диалоговых окон на экран.

3. Настройте запуск задачи по расписанию с помощью соответствующих триггеров и условий в планировщике заданий (например, запускать сценарий каждый час).

Внимание:

  • Запуск задачи следует производить от учетной записи Windows пользователя, имеющего права в DIRECTUM на запускаемый сценарий или компоненту.
  • Для учетной записи Windows пользователя, от которого будет работать SAJobRunner, на сервере в локальных политиках безопасности (Администрирование\ Локальная политика безопасности) нужно задать следующее: В разделе "Локальные политики - Назначение прав пользователя" в политики "Вход в качестве пакетного задания" и "Вход в качестве службы" необходимо добавить пользователя от имени которого выполняется задание. В противном случае, придется всегда держать открытым сеанс Windows под этим пользователем. Если же сделать эти настройки, то задание будет работать и без открытого сеанса.
  • При использовании SAJobRunner, в аргументах запуска следует указывать имя сервера и базы данных, и не допускается указание вместо них кода системы.
  • При самом первом запуске сценария рассылка не состоится, т.к. будет просто установлено время запуска. В последующие запуски, в константу РАСЗДЧВР  будет записано время последнего запуска, чтобы исключить повторную рассылку по одному и тому же невыполненному заданию.

4. Проверьте настройку планировщика заданий. Создайте задачу в DIRECTUM пользователю, убедитесь, что пользователь получил задание в папке Входящие и оно в состоянии «не прочтено». Дождитесь времени запуска задачи планировщика заданий. Проверьте  электронную почту пользователя - вы должны получить  уведомление.

Дополнительные возможности запуска сценария "Агент рассылки входящих заданий"

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

<Имя пользователя 1>;<Адрес e-mail 1>|<Имя пользователя 2>;<Адрес e-mail 2>|…

где:

<Имя пользователя> - имя пользователя системы DIRECTUM (логин);

<Адрес e-mail> - адрес электронной почты, по которому будут приходить задания для указанного пользователя.

Пример командной строки для запуска сценария в этом режиме:

sblauncher.exe -SYS="DIRECTUM" -CT="Script" -F="Агент рассылки входящих заданий" -R="C:\UsersList.txt"

sajobrunner.exe -S="MAINSERVER" -D="DIRECTUM" -CT="Script" -F="Агент рассылки входящих заданий" -R="C:\UsersList.txt"

2. Письма могут рассылаться пользователям, которые явно указаны в строке запуска. Пример командной строки для запуска сценария в этом режиме:

sblauncher.exe -SYS="DIRECTUM" -CT="Script" -F="Агент рассылки входящих заданий" -N="Administrator" -W="Password" -R="Type=U|Users=User1;User2| EMails=User1@yourcompany.com;User2@yourcompany.com"

sajobrunner.exe -S="MAINSERVER" -D="DIRECTUM" -CT="Script" -F="Агент рассылки входящих заданий" -R="Type=U|Users=User1;User2| EMails=User1@yourcompany.com;User2@yourcompany.com"

3. Письма рассылаются пользователям, которые указанны в записи справочника «Параметры запуска компонент». Пример командной строки для запуска сценария в этом режиме:

sblauncher.exe -SYS="DIRECTUM" -CT="Script" -F="Агент рассылки входящих заданий" -R="LaunchParamsCode=JOBSENDING"

sajobrunner.exe -S="MAINSERVER" -D="DIRECTUM" -CT="Script" -F="Агент рассылки входящих заданий" -R="LaunchParamsCode=JOBSENDING"

Если указан параметр «LaunchParamsCode», то параметры «Type», «Users» и «EMails» указывать не надо. В данном случае информация о списках рассылок  должна находиться в записи справочника "Параметры запуска компонент", код которой указывается в значении параметра "LaunchParamsCode".

16
Подписаться

Комментарии

Возможно ли все же модифицировать сценарий, чтобы он в случае замещения присылал уведомления и замещающему ??

Как быть если для 1 персоны 1 пользователь и 3 контактного лице (3 наших организации), а по описанию требуется настроить "каждому пользователю, для которого планируется рассылка, соответствовала одна запись в справочнике «Персоны», а каждой персоне - соответствовала одна запись в справочнике «Контактные лица организации»"?
и прямой связи между персоной и пользователем нет.

Давненько не обращал внимания на когда-то настроенную рассылку почты пользователям. Сейчас выяснилось, что давно уже никому ничего не приходит. Не буду вдаваться в подробности, но хочу задать вопрос - 

Рассылку делал с помощью  Дополнительные возможности запуска сценария "Агент рассылки входящих заданий", п1. 

По началу почта уходила, сейчас в диспетчере задач с каждым установленным временем запуска появляется еще один процесс SBRte.exe и не исчезает, их количество растет и растет.

Вчера попробовал рассылку с помощью  Настройка запуска агента

и тоже нет результата. 

Как можно не разработчику проверить, в чем проблема? Может ли вообще наш директум отсылать письма. Настройки POP3 и SMTP не менялись, проверил, они в порядке. И вообще ничего не менялось с тех пор.

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

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

Андрей Гец

Для начала посмотрите историю изменения константы РАСЗДЧВР. Если константа изменяется по 2 раза подряд примерно в одну секунду - это значит что сценарий запускается, записывает время запуска в константу, далее возникает ошибка и время в константе откатывается назад. 
Далее нужно искать лог-файлы с компьютера, где происходит запуск назначенного задания - по уже логам постараемся понять, в чем дело.

Аналогичная ситуация. Windows Server 2008 x64: были настроены задания по расписанию с наивысшими правами, все работало, но только до определенного времени. Все параметры настройки остались без изменений, а рассылка прекратилась. SaJobRunner с параметрами засунул в bat-ник - работает. Через планировщик заданий - никак.

Как быть если для 1 персоны 1 пользователь и 3 контактного лице (3 наших организации), а по описанию требуется настроить "каждому пользователю, для которого планируется рассылка, соответствовала одна запись в справочнике «Персоны», а каждой персоне - соответствовала одна запись в справочнике «Контактные лица организации»"? и прямой связи между персоной и пользователем нет.

Тоже очень интересует!

Алексей, Андрей, в сценарии цикл идет от работников. Т.е. отправная точка - запись справочника РАБ (который тоже ведется в разрезе НОР и думаю, там у вас 3 работника, как и контактных лиц). Сценарий возьмет то контактное лицо и того пользователя, которые выбраны в соответствующих реквизитах записей справочника работники. 

Здравствуйте!

Появилась проблема в работе агента рассылки входящих заданий. Причем последний год работал без проблем. Ничего не меняли и вдруг от пользователей начали поступать жалобы, что приходит несколько писем по одному и тому же не просмотренному заданию. Интервалы отправки писем разные - 45 минут, час, 2 часа , 5 часов, хотя агент запускается каждые 15 минут. После просмотра задания в системе письма перестают приходить. Проверил все настройки по инструкции - все в порядке. Перезапуск служб не помог. Даже не знаю в каком направлении рыть. Сервер один. Репликаций нет. Может кто-то помочь?

Евгений, в стандартном сценарии подобное наблюдали, когда возникают какие-либо ошибки при отправке писем. Когда сценарий запускается, записывается время запуска в константу РАСЗДЧВР, далее возникает ошибка и время в константе откатывается назад. В результате при очередном запуске заново ищет все непрочитанные задания, созданные после времени, указанному в константе.

Ошибки возникали, например, когда некорректно был указан email, когда сервер не мог отправить на внешний email в связи с политиками безопасности.

Посмотрите, отправляются ли пользователю (по умолчанию Administrator вроде) уведомления об ошибке отправки.

Посмотрите историю изменения константы РАСЗДЧВР. Если константа изменяется по 2 раза подряд примерно в одну секунду - это значит что как раз и происходит откат.

Вышла версия DIRECTUM 5.6. В ней запуск сценариев по расписанию рекомендуется проводить через службу обработки событий. Сами события инициировать через SQL-job-ы. Хотелось бы увидеть рекомендации по настройке запуска сценария для такой ситуации.

Авторизуйтесь, чтобы написать комментарий