Дерево страниц
Skip to end of metadata
Go to start of metadata

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

Статус

ГОТОВО

Комментарий

Описание

Версии

CM6 CM7

Принцип работы

Обработка изменений по факту проставления визы к листу согласования.

  • уведомления по отрицательной визе (по настройкам)
  • завершение согласования
  • уведомление о завершении
  • переход на новую стадию
  • уведомление на новой стадии
  • обновление доступа
  • обновление результата согласования
  • формирование задачи на согласование

Рекомендуемое время запуска

-

Навигация

Дескриптор агента по JMS-сообщениям

Приложение

Приложение

Название

СМ-Согласование-Обработка визы

Идентификатор

CMJ-Approving-UpdateByAnswer

Политика наложения расписания

- не имеет значение -

Режим конкуренции

ANY

CM7.0+ можно MANY

Сейчас агенты не способны работать параллельно из-за высокой вероятности конфликтов сохранения ЛС или РКК.

Выработано такое решение:

1. Все агенты выполняют свою работу в критической секции с блокировкой на UNID согласуемого/ознакамливаемого документа (TODO обсудить реализацию)
2. Агенты настраиваем на запуск на одном сервере, но в несколько потоков

Если этого окажется не достаточно, то раскидываем исполнение агентов по разным серверам. Допустим на 8 серверов.

3. В JMS-ChLog добавляем заголовок SourceDocId с UNID согласуемого/ознакамливаемого документа
4. В МА делаем 8 копий настроек запуска каждого агента
5. В условиях фильтрации JMS-Chlog добавляем условие по префиксу SourceDocId. В каждой копии свой префикс
&& (SourceDocId LIKE '%0' | SourceDocId LIKE '%1')
...
&& (SourceDocId LIKE '%E' | SourceDocId LIKE '%F')
6. Каждую копию настройки одного агента запускаем на отдельном сервере, но настройки разных агентов с одинаковым префиксом в фильтре на общем сервере.

Например,
Агент А с фильтром && (SourceDocId LIKE '%0' | SourceDocId LIKE '%1') запускаем на сервере S1

Агент В с фильтром && (SourceDocId LIKE '%0' | SourceDocId LIKE '%1') запускаем тоже на сервере S1

Агент А с фильтром && (SourceDocId LIKE '%E' | SourceDocId LIKE '%F') запускаем на сервере S8

Агент В с фильтром && (SourceDocId LIKE '%E' | SourceDocId LIKE '%F') запускаем тоже на сервере S8

Режим работы

ASAP

Очередь данных по умолчанию

JMS-очередь

Фильтр JMS-сообщений

JMSType='ChLog' AND (contextType='toNextStage' OR (contextType = 'f1' 
AND (changedFields LIKE '%|result|%' 
OR changedFields LIKE '%|isdraft|%' OR changedFields LIKE '%|af$r_disco|%' 
OR changedFields LIKE '%|candelete|%' OR changedFields LIKE '%|iscancel|%')))

Доп. фильтры

-

Кол-во потоков в настройке запуска

CM7.0+ можно задать большее количество потоков

Сейчас агенты не способны работать параллельно из-за высокой вероятности конфликтов сохранения ЛС или РКК.

Выработано такое решение:

1. Все агенты выполняют свою работу в критической секции с блокировкой на UNID согласуемого/ознакамливаемого документа (TODO обсудить реализацию)
2. Агенты настраиваем на запуск на одном сервере, но в несколько потоков

Если этого окажется не достаточно, то раскидываем исполнение агентов по разным серверам. Допустим на 8 серверов.

3. В JMS-ChLog добавляем заголовок SourceDocId с UNID согласуемого/ознакамливаемого документа
4. В МА делаем 8 копий настроек запуска каждого агента
5. В условиях фильтрации JMS-Chlog добавляем условие по префиксу SourceDocId. В каждой копии свой префикс
&& (SourceDocId LIKE '%0' | SourceDocId LIKE '%1')
...
&& (SourceDocId LIKE '%E' | SourceDocId LIKE '%F')
6. Каждую копию настройки одного агента запускаем на отдельном сервере, но настройки разных агентов с одинаковым префиксом в фильтре на общем сервере.

Например,
Агент А с фильтром && (SourceDocId LIKE '%0' | SourceDocId LIKE '%1') запускаем на сервере S1

Агент В с фильтром && (SourceDocId LIKE '%0' | SourceDocId LIKE '%1') запускаем тоже на сервере S1

Агент А с фильтром && (SourceDocId LIKE '%E' | SourceDocId LIKE '%F') запускаем на сервере S8

Агент В с фильтром && (SourceDocId LIKE '%E' | SourceDocId LIKE '%F') запускаем тоже на сервере S8

Параметры

  • SoRepId - список реплик СО, по которым работает агент. Если не указан, работа идёт по всем СО.

Логирование

Класс

Уровень логирования

ru.intertrust.cmj.af.apre._stdimpl.dao.approving.agents.ApprovingUpdateByChLogAnswerDEBUG