6. История исполнения отчётов
Платформа предоставляет механизм управления историей исполнения отчётов со следующими возможностями:
-
Сохранение истории исполнения для каждого отчёта. В истории администратор может найти информацию, как часто исполняется тот или иной отчёт, какая длительность исполнения отчёта, каким пользователем и когда был запущен отчёт, какие ошибки возникли при исполнении.
-
Удаление устаревшей истории исполнения отчётов.
По умолчанию механизм сохранения истории не используется, но его можно включить, установив свойство reporting.executionHistory.enabled в значение true
. Это можно сделать в экране Administration > Application Properties.
Экран просмотра истории считается административным, поэтому не добавлен в главное меню. Для просмотра истории перейдите в экран списка отчётов (пункт меню Reports>Reports) и нажмите на кнопку Execution history.
Если в списке отчётов был выбран какой-либо отчёт, то таблица в экране просмотра истории будет отфильтрована по выбранному отчёту. Если в списке отчётов ни один отчёт не был выбран, то в экране просмотра будет отображена история исполнения всех отчётов системы.
Флаг "Cancelled" означает, что пользователь запустил отчёт в фоновом режиме, а затем отменил его.
История исполнения записывается также для отчётов, которые еще не сохранены в БД, но запущены из редактора отчётов (по нажатию на кнопку Run).
- Выходные документы
-
Механизм предусматривает возможность сохранения выходных документов – файлов результатов отчётов – в хранилище файлов. Эта функция использует дисковое пространство для хранения файлов; она настраивается отдельно и по умолчанию отключена. Для ее включения определите свойство reporting.executionHistory.saveOutputDocument в экране Administration > Application Properties:
reporting.executionHistory.saveOutputDocument = true
Теперь, если в таблице просмотра истории выбрана запись, кнопка Download document становится доступной. При нажатии на кнопку скачивается документ, представляющий собой файл результата отчёта.
Отчёты с типом вывода chart, pivot table и table не имеют результирующих файлов, поэтому история исполнения таких отчётов не сохраняет никаких документов.
Если вы вызываете запуск отчёта программно с помощью метода
createAndSaveReport()
, он сохраняет другую копию того же выходного документа в хранилище файлов. Эти два файла помещаются в хранилище независимо друг от друга.
- Удаление истории
-
Чтобы регулярно удалять ненужные данные, вы можете настроить процедуру очистки истории исполнения.
-
Создайте и активируйте назначенное задание. Перейдите в экран Administration > Scheduled Tasks вашего приложения. Создайте новую задачу и установите ей следующие параметры:
-
Bean Name =
reporting_ExecutionHistoryRecorder
-
Method Name =
cleanupHistory()
-
Cron = nightly, например,
0 0 1 * * *
-
Singleton – да (этот параметр важен только при эксплуатации кластера серверов middleware)
Сохраните задачу и нажмите на ней Activate.
Если вы ранее не настраивали выполнение назначенных заданий для данного приложения, то на данном этапе ничего не произойдет – новая задача не начнет выполняться, пока вы не запустите весь механизм назначенных заданий с помощью свойства cuba.schedulingActive.
-
-
Настройте конфигурационные параметры:
-
reporting.executionHistory.cleanup.days – по умолчанию 730 дней.
-
reporting.executionHistory.cleanup.itemsPerReport – по умолчанию 1000.
Когда история исполнения очищается, связанные выходные документы удаляются из хранилища файлов.
-
-