Инструменты пользователя

Инструменты сайта


odg_assist_5.0:администрирование_odg

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
odg_assist_5.0:администрирование_odg [2026/10/05 13:04] – [Функциональные характеристики ПО “OdgAssist”] denisodg_assist_5.0:администрирование_odg [2026/10/05 13:50] (текущий) – [Отправка оповещений о новых задачах.] denis
Строка 1: Строка 1:
  
-====== Установка odgassist 5.0 ====== 
  
-Установить приложение можно вручную или автоматически. 
  
-===== Ручная установка приложения: ===== 
  
-Для работы приложения odgassist необходимы следующие программы: \\ 
  
-  * Postgres 12 и выше  +====== Настройка приложения ======
-  * Nginx  +
-  * Supervisor  +
-  * Open jdk 8  +
-  * LibreOffice+
  
-== Команды для установки требуемого программного обеспечения ==+Перейдите по ссылке: \\
  
-Обновить и установить пакеты программного обеспечения: \\ +<code -> 
- +http://ip_адрес_сервера:9090/app 
-<code bash> +
-sudo apt-get update &&  sudo apt-get -y upgrade;+
 </code> </code>
  
-Установить openjdk: \\+Отобразится форма авторизации:
  
-<code bash> +{{:odg_assist_5.0:pasted:20230302-143823.png?400}}
-sudo apt-get -y install openjdk-8-jdk; +
-</code>+
  
-Скачать и установить Postgres :\\+Войдите в систему. Логин admin, пароль: admin.
  
-<code bash> +Для работы приложения требуется добавить лицензионный ключ. \\  Нажмите пункт меню "Администрирование", подпункт "Свойства приложения". \\  В фильтре поиска вставьте имя ru.licen.
-wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -; +
-RELEASE=$(lsb_release -cs) echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list; +
-sudo apt -y install postgresql-12; +
-</code>+
  
-Добавить базу данных для odgassist: \\+{{:odg_assist_5.0:pasted:20230302-132816.png?800}}
  
-<code sql> +Щелкните дважды по записи и введите ключ в открывшуюся форму: 
-sudo -u postgres psql -U postgres -d postgres -c "CREATE DATABASE \"odgassist\" WITH OWNER \"postgres\" ENCODING 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8' TEMPLATE template0;"; + 
-sudo -u postgres psql -U postgres -d postgres -c "ALTER USER postgres PASSWORD '0000'";+<code -> 
 +KEN9fFDUMzufuFgpI2EzCCyHkjdwT93wMC1LXu7MYRAX5JeyZL6J08fNXVtLdM+pqefODyp5tO7wYo40oI7Ovp9cZ8IAOSbXquJl0QNV5XphS0F1IaFNV/8NFBpK9xOAW/Aye04okELab+cqZXP7Gkrc3wiCQ7NnlOtx6tIDiYU=
 </code> </code>
  
-Установить nginx: \\+{{:odg_assist_5.0:pasted:20230302-133531.png?400}}
  
-<code bash> +Добавить ключ, кол-во конкурентных пользователей: \\
- apt-get -y install nginx;  +
-</code>+
  
-Установить supervisor: \\+{{:odg_assist_5.0:pasted:20230616-165026.png?800}}
  
-<code bash> +<code -> 
-sudo apt-get -y install supervisor;+B8yA7lLZQCcmg9dhqChbKM6LDlzzEuZQ/yVhARRXtyIRJG6WAWULfOCFjbzKRi5Vf4Fm1qR/46+shOw1F8UPJ8cGbwlj/dA6AHzD1+9yHnWlMIuUgBj+7MYuMZcNegCK4tdvto7WC54yiwnPhGlP574Le9joq10mSZifo/kbOII=
 </code> </code>
  
-Установить LibreOffice: \\+После добавления ключа необходимо перезапустить приложение через терминал сервера: \\  ''sudo supervisorctl restart cuba''
  
-<code bash> +Ознакомится с интерфейсом приложения можно перейдя по ссылке: [[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|Описание приложения.]]
- apt-get install libreoffice  +
-</code>+
  
-Добавьте пользователя runner: \\+Ссылка на скачивание приложения и необходимых файлов: \\
  
-<code -> +{{:odg_assist_5.0:app.jar|odg5}} \\
-sudo useradd -m -p $(openssl rand -base64 12) runner  +
-</code>+
  
-Добавьте необходимые директории для работы приложения odgassist: \\+{{:odg_assist_5.0:nofileonserver.docx|empty file}} \\
  
-<code bash> +{{ :odg_assist_5.0:cubaodg1.zip }}
-sudo mkdir /srv/templates && chmod 777 /srv/templates; +
-sudo mkdir /srv/assist && chmod 777 /srv/assist; +
-sudo mkdir /srv/assist/export && chmod 777 /srv/assist/export; +
-sudo mkdir /srv/assist/html && chmod 777 /srv/assist/html; +
-sudo mkdir /home/dumps && chmod 777 /home/dumps; +
-sudo mkdir /etc/ssl/cuba && mkdir /etc/ssl/odg; +
-sudo mkdir /home/runner/cuba && chown runner:runner /home/runner/cuba; +
-</code>+
  
-Скачайте необходимые файлы для работы приложения odgassist: \\+{{ :odg_assist_5.0:install.sh.gz }}
  
-<code bash> +=== Настройка после установки ===
-wget https://wiki.odgassist.ru/lib/exe/fetch.php/odg_assist_5.0:app.jar +
-; +
-mv odg_assist_5.0:app.jar /home/runner/cuba/app.jar && chown runner:runner /home/runner/cuba/app.jar && chmod +x /home/runner/cuba/app.jar; +
-wget wget https://wiki.odgassist.ru/lib/exe/fetch.php/odg_assist_5.0:nofileonserver.docx && mv odg_assist_5.0:nofileonserver.docx /srv/assist/nofileonserver.docx && chown runner:runner /srv/assist/nofileonserver.docx ; +
-chown runner:runner /srv/assist/nofileonserver.docx; +
-</code>+
  
-Добавьте в конфигурацию supervisor  файл /etc/supervisor/conf.d/cubaodg.conf: 
  
-<code bash> 
-[program:cuba] 
-command=java -Xms1G -Xmx3G -jar app.jar -port 9090 
-directory=/home/runner/cuba 
-stdout_logfile=/var/log/supervisor/cuba.log 
-stderr_logfile=/var/log/supervisor/cuba.log 
-autostart=true 
-user=runner 
-</code> 
  
-Обновите конфигурацию supervisor: \\+После установки проверить время сохраняемых и изменяемых сущностей. Например добавить папку и проверить время ее создания или изменения.
  
-<code bash> +==== Назначенные задания ====
-sudo supervisorctl reread && sudo supervisorctl update; +
-sudo supervisorctl status; +
-</code>+
  
-Статус приложения cuba должно быть RUNNING \\+Пункт меню "Администрирование", подпункт "Назначенные задания". \\  Подпункт меню позволяет настраивать автоматическое выполнение рутинных задач. \\  Например обработка документов, рассылка оповещений пользователям и т.д.
  
-После запуска приложения подождите 5 минут пока производится настройка базы данных. Затем переходите к следующему  [[https://wiki.odgassist.ru/doku.php/odg_assist_5.0:%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#%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F|этапу]]. \\+//**Отправка оповещений о новых задачах.**//
  
-===== Установка в автоматическом режиме. =====+<color brown> Описание: </color> \\  После активации каждой задачи на нее назначается исполнитель. Исполнитель добавляется в список для рассылки оповещений о новых задачах. Рассылка осуществляется всем пользователям из списка каждые 60 секунд.
  
- \\  Будут установлены следующие пакеты: \\  -Postgres 12 -Nginx -Supervisor -Open jdk 8+<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 -> <code ->
- wget https://wiki.odgassist.ru/lib/exe/fetch.php/odg_assist_5.0:install.sh.gz +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> </code>
  
- \\+  * Period - с помощью интервала между выполнениями. 
 +  * Fixed Delay - задача будет запускаться с указанной в Period задержкой после окончания предыдущего выполнения. 
 +  * Period - период или задержка запуска задания в секундах если Scheduling type установлен в Period или Fixed Delay. 
 +  * Start date - дата/время первого запуска для Scheduling type = Period. Если не установлено, то задание запускается сразу при старте сервера. Если установлено, то задание запускается в момент startDate + period * N, где N - целое число.
  
-или по ссылке: {{ :odg_assist_5.0:install.sh.gz }}+Start date имеет смысл указывать только для "нечастых" заданий - раз в 1 час, 1 сутки и т.п.
  
-Разархивируйте документ и запустите его в терминале сервера Ubuntu: \\+  * Timeout - время в секундах, по истечении которого считается, что задание закончило выполнение, независимо от того, есть ли информация о завершении задания, или нет. Если timeout не задан явно, он принимается равным 3 часам.
  
-''gunzip odg_assist_5.0\:install.sh.gz;'' \\  ''chmod +x odg_assist_5.0\:install.sh;'' \\  ''sudo ./odg_assist_5.0\:install.sh;'' \\+Для 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 - произвольное текстовое описание задания. 
 + 
 +Задание также имеет признак активности, который устанавливается в экране списка заданий. Неактивные задания не запускаются.
  
-После выполнения скрипта подождите 5 минут пока производится настройка базы данных. \\  Затем переходите к следующему этапу. 
  
  
 ===== Добавление ролей ===== ===== Добавление ролей =====
  
----- 
  
 В приложении доступны два типа ролей: \\  1. **Системные роли** В приложении доступны два типа ролей: \\  1. **Системные роли**
Строка 600: Строка 628:
 Нажмите пункт меню "Администрирование", подпункт "Назначенные задания". Заполните поля формы: \\  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}}
odg_assist_5.0/администрирование_odg.1791205450.txt.gz · Последнее изменение: — denis

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: GNU Free Documentation License 1.3
GNU Free Documentation License 1.3 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki