| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| odg_assist_5.0:администрирование_odg [2026/10/05 13:29] – [Установка odgassist 5.0] denis | odg_assist_5.0:администрирование_odg [2026/10/05 13:50] (текущий) – [Отправка оповещений о новых задачах.] denis |
|---|
| |
| |
| | |
| | |
| | |
| | ====== Настройка приложения ====== |
| | |
| | Перейдите по ссылке: \\ |
| | |
| | <code -> |
| | http://ip_адрес_сервера:9090/app |
| | </code> |
| | |
| | Отобразится форма авторизации: |
| | |
| | {{:odg_assist_5.0:pasted:20230302-143823.png?400}} |
| | |
| | Войдите в систему. Логин admin, пароль: admin. |
| | |
| | Для работы приложения требуется добавить лицензионный ключ. \\ Нажмите пункт меню "Администрирование", подпункт "Свойства приложения". \\ В фильтре поиска вставьте имя ru.licen. |
| | |
| | {{:odg_assist_5.0:pasted:20230302-132816.png?800}} |
| | |
| | Щелкните дважды по записи и введите ключ в открывшуюся форму: |
| | |
| | <code -> |
| | KEN9fFDUMzufuFgpI2EzCCyHkjdwT93wMC1LXu7MYRAX5JeyZL6J08fNXVtLdM+pqefODyp5tO7wYo40oI7Ovp9cZ8IAOSbXquJl0QNV5XphS0F1IaFNV/8NFBpK9xOAW/Aye04okELab+cqZXP7Gkrc3wiCQ7NnlOtx6tIDiYU= |
| | </code> |
| | |
| | {{:odg_assist_5.0:pasted:20230302-133531.png?400}} |
| | |
| | Добавить ключ, кол-во конкурентных пользователей: \\ |
| | |
| | {{:odg_assist_5.0:pasted:20230616-165026.png?800}} |
| | |
| | <code -> |
| | B8yA7lLZQCcmg9dhqChbKM6LDlzzEuZQ/yVhARRXtyIRJG6WAWULfOCFjbzKRi5Vf4Fm1qR/46+shOw1F8UPJ8cGbwlj/dA6AHzD1+9yHnWlMIuUgBj+7MYuMZcNegCK4tdvto7WC54yiwnPhGlP574Le9joq10mSZifo/kbOII= |
| | </code> |
| | |
| | После добавления ключа необходимо перезапустить приложение через терминал сервера: \\ ''sudo supervisorctl restart cuba'' |
| | |
| | Ознакомится с интерфейсом приложения можно перейдя по ссылке: [[https://wiki.odgassist.ru/doku.php/odg_assist_5.0:%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0#%D0%BF%D1%83%D0%BD%D0%BA%D1%82_%D0%BC%D0%B5%D0%BD%D1%8E_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5|Описание приложения.]] |
| | |
| | Ссылка на скачивание приложения и необходимых файлов: \\ |
| | |
| | {{:odg_assist_5.0:app.jar|odg5}} \\ |
| | |
| | {{:odg_assist_5.0:nofileonserver.docx|empty file}} \\ |
| | |
| | {{ :odg_assist_5.0:cubaodg1.zip }} |
| | |
| | {{ :odg_assist_5.0:install.sh.gz }} |
| | |
| | === Настройка после установки === |
| | |
| | |
| | |
| | После установки проверить время сохраняемых и изменяемых сущностей. Например добавить папку и проверить время ее создания или изменения. |
| | |
| | ==== Назначенные задания ==== |
| | |
| | Пункт меню "Администрирование", подпункт "Назначенные задания". \\ Подпункт меню позволяет настраивать автоматическое выполнение рутинных задач. \\ Например обработка документов, рассылка оповещений пользователям и т.д. |
| | |
| | //**Отправка оповещений о новых задачах.**// |
| | |
| | <color brown> Описание: </color> \\ После активации каждой задачи на нее назначается исполнитель. Исполнитель добавляется в список для рассылки оповещений о новых задачах. Рассылка осуществляется всем пользователям из списка каждые 60 секунд. |
| | |
| | <color brown>Настройка: </color> \\ |
| | |
| | Нажмите пункт меню "Администрирование", подпункт "Назначенные задания". Заполните поля формы: \\ Defined By: ''Bean'' \\ Bean Name: ''cuba_Emailer'' \\ Method Nmae: ''processQueuedEmails()'' \\ Sheduling Type: ''Period'' \\ Cron Expression: ''60'' \\ Singleton: ''V'' |
| | |
| | {{:odg_assist_5.0:pasted:20230419-141932.png?800}} |
| | |
| | Пример содержимого письма: \\ {{:odg_assist_5.0:pasted:20230419-142535.png?800}} |
| | |
| | //**Отправка оповещений назначенным по задачам**// |
| | |
| | <color brown> Описание: </color> \\ Если у пользователя нет просроченных задач, то ему отправляется весь список задач каждый понедельник. \\ Если есть просроченные задачи или задачи близкие к крайнему сроку, то оповещения отправляются каждое утро в 9:00. |
| | |
| | <color brown>Настройка: </color> \\ Нажмите пункт меню "Администрирование", подпункт "Назначенные задания". Заполните поля формы: \\ Defined By: ''Bean'' \\ Bean Name: ''odgassist5_TasksReportService'' \\ Method Nmae: ''sendTaskStatesToAllUsers'' \\ Sheduling Type: ''Cron'' \\ Cron Expression: ''0 0 9 * * *'' |
| | |
| | {{:odg_assist_5.0:pasted:20230419-134029.png?800}} |
| | |
| | Пример содержимого письма: \\ |
| | |
| | {{:odg_assist_5.0:pasted:20230417-133423.png?800| отображение письма оповещения}} |
| | |
| | **Отправка оповещений по действиям** |
| | |
| | <color brown> Описание: </color> \\ В список на отправку попадают отчеты: |
| | |
| | * крайний срок выполнения сегодня |
| | * крайний срок выполнения наступит через ''ru.od.notify_before_days'' |
| | * просроченные действия |
| | |
| | ''ru.od.notify_before_days'' - параметр, который хранит количество дней. (Уведомить за n дней). \\ Настройка производится через пункт меню "Администрирование", подпункт "Свойства приложения". \\ В поле "Поиск по имени свойства" ввести: ''ru.od.notify_before_days'' \\ |
| | |
| | {{:odg_assist_5.0:pasted:20230419-140759.png?800}} |
| | |
| | <color brown>Настройка: </color> \\ Нажмите пункт меню "Администрирование", подпункт "Назначенные задания". Заполните поля формы: \\ Bean Name: ''odgassist5_TaskReportService'' \\ Method Nmae: ''notifyUserAboutOverdueActions'' |
| | |
| | {{:odg_assist_5.0:pasted:20230419-113823.png?800}} |
| | |
| | **Описание полей формы настройки "Назначенное задание":** |
| | |
| | * Defined by - каким программным объектом реализуется задание. Возможные значения: |
| | * Bean - задание реализуется методом бина Spring. Дополнительные атрибуты: |
| | * Bean name - имя бина. Бин отображается в списке и доступен для выбора, только если он объявлен в модуле core и у него есть интерфейс, содержащий подходящие для вызова из задания методы. Бины без интерфейса не поддерживаются. |
| | * Method name - метод интерфейса бина для выполнения. Метод должен либо не иметь параметров, либо иметь все параметры типа String. Тип результата должен быть либо void, либо String. В последнем случае результат выполнения будет сохранен в таблице выполнений (см. Log finish ниже). |
| | * Method parameters - параметры выбранного метода. Поддерживаются только параметры типа String. |
| | * Class - задание представляет собой класс, реализующий интерфейс java.util.concurrent.Callable. Класс должен иметь открытый конструктор без параметров. Дополнительные атрибуты: |
| | * Class name - имя класса |
| | * Script - задание представляет собой скрипт Groovy. Скрипт выполняется через Scripting.runGroovyScript(). Дополнительные атрибуты: |
| | * Script name - имя скрипта. |
| | * User name - имя пользователя, от имени которого будет выполняться задание. Если не задано, то задание будет выполнено от имени пользователя, указанного в свойстве приложения cuba.jmxUserLogin. |
| | * Singleton - признак, является ли задание синглтоном, т.е. выполняющимся только на одном сервере системы. |
| | * Scheduling type - способ планирования задачи: |
| | * Cron - с помощью Cron-выражения, представляющего собой последовательность из шести полей, разделенных пробелами: |
| | * секунда, минута, час, день, месяц, день недели. Месяц и день недели могут быть представлены первыми тремя буквами английского названия. Примеры выражений: |
| | |
| | <code -> |
| | 0 0 * * * * - начало каждого часа каждого дня. |
| | */10 * * * * * - каждые 10 секунд. |
| | 0 0 8-10 * * * - в 8, 9 и 10 часов каждого дня. |
| | 0 0/30 8-10 * * * - 8:00, 8:30, 9:00, 9:30 и 10 часов каждого дня. |
| | 0 0 9-17 * * MON-FRI - каждый час с 9 до 17 по рабочим дням. |
| | 0 0 0 7 1 ? - каждое Рождество в полночь. |
| | </code> |
| | |
| | * Period - с помощью интервала между выполнениями. |
| | * Fixed Delay - задача будет запускаться с указанной в Period задержкой после окончания предыдущего выполнения. |
| | * Period - период или задержка запуска задания в секундах если Scheduling type установлен в Period или Fixed Delay. |
| | * Start date - дата/время первого запуска для Scheduling type = Period. Если не установлено, то задание запускается сразу при старте сервера. Если установлено, то задание запускается в момент startDate + period * N, где N - целое число. |
| | |
| | Start date имеет смысл указывать только для "нечастых" заданий - раз в 1 час, 1 сутки и т.п. |
| | |
| | * Timeout - время в секундах, по истечении которого считается, что задание закончило выполнение, независимо от того, есть ли информация о завершении задания, или нет. Если timeout не задан явно, он принимается равным 3 часам. |
| | |
| | Для Singleton-задач в кластерном деплойменте рекомендуется всегда устанавливать таймаут в реалистичное значение. Если останавливается узел кластера, выполняющий задачу, то при стандартном значении другие узлы кластера будут ждать 3 часа перед тем, как запустить задачу снова. |
| | |
| | * Time frame - в случае заданного Start date или Cron expression определяет временное окно в секундах, в течение которого будет запущено задание, если время startDate + period * N прошло. Если Time frame не задано явно, оно принимается равным period / 2. |
| | |
| | Если Start date не указано, то Time frame не принимается во внимание, т.е. задание будет запущено в любое время после прохождения промежутка времени Period после предыдущего выполнения задания. |
| | |
| | * Start delay - задержка выполнения в секундах после запуска сервера и активации выполнения задач. Используйте данный параметр для тяжелых задач, если вы считаете что они тормозят запуск сервера. |
| | * Permitted servers - список перечисленных через запятую идентификаторов серверов, на которых возможен запуск данного задания. Если список не задан, то задание может выполняться на любом сервере. |
| | |
| | Для синглтон-заданий порядок перечисления серверов указывает их приоритет - первый имеет больший приоритет чем последний. Сервер с большим приоритетом перехватит выполнение синглтона следующим образом: если сервер с большим приоритетом обнаруживает, что предыдущий раз задание было выполнено сервером с меньшим приоритетом, то он запускает задание независимо от того, пройден ли Period или нет. Приоритет серверов работает только в случае Scheduling type равного Period и не указанного атрибута Start date. В противном случае, старт происходит в одно и то же время, и перехват невозможен. |
| | |
| | * Log start - признак регистрации факта запуска задания в таблице SYS_SCHEDULED_EXECUTION, соответствующей сущности ScheduledExecution. |
| | |
| | Если задание является синглтоном, то в текущей реализации регистрация факта запуска производится в любом случае, независимо от данного признака. |
| | |
| | * Log finish - признак регистрации факта завершения задания в таблице SYS_SCHEDULED_EXECUTION, соответствующей сущности ScheduledExecution. |
| | |
| | Если задание является синглтоном, то в текущей реализации регистрация факта завершения производится в любом случае, независимо от данного признака. |
| | |
| | * Description - произвольное текстовое описание задания. |
| | |
| | Задание также имеет признак активности, который устанавливается в экране списка заданий. Неактивные задания не запускаются. |
| |
| |
| Нажмите пункт меню "Администрирование", подпункт "Назначенные задания". Заполните поля формы: \\ Defined By: ''Bean'' \\ Bean Name: ''cuba_Emailer'' \\ Method Nmae: ''processQueuedEmails()'' \\ Sheduling Type: ''Period'' \\ Cron Expression: ''60'' \\ Singleton: ''V'' | Нажмите пункт меню "Администрирование", подпункт "Назначенные задания". Заполните поля формы: \\ Defined By: ''Bean'' \\ Bean Name: ''cuba_Emailer'' \\ Method Nmae: ''processQueuedEmails()'' \\ Sheduling Type: ''Period'' \\ Cron Expression: ''60'' \\ Singleton: ''V'' |
| |
| {{:odg_assist_5.0:pasted:20230419-141932.png}} | {{:odg_assist_5.0:pasted:20230419-141932.png?800}} |
| |
| Пример содержимого письма: \\ {{:odg_assist_5.0:pasted:20230419-142535.png}} | Пример содержимого письма: \\ {{:odg_assist_5.0:pasted:20230419-142535.png}} |