6. История исполнения отчётов

Платформа предоставляет механизм управления историей исполнения отчётов со следующими возможностями:

  1. Сохранение истории исполнения для каждого отчёта. В истории администратор может найти информацию, как часто исполняется тот или иной отчёт, какая длительность исполнения отчёта, каким пользователем и когда был запущен отчёт, какие ошибки возникли при исполнении.

  2. Удаление устаревшей истории исполнения отчётов.

По умолчанию механизм сохранения истории не используется, но его можно включить, установив свойство reporting.executionHistory.enabled в значение true. Это можно сделать в экране Administration > Application Properties.

Экран просмотра истории считается административным, поэтому не добавлен в главное меню. Для просмотра истории перейдите в экран списка отчётов (пункт меню Reports>Reports) и нажмите на кнопку Execution history.

Если в списке отчётов был выбран какой-либо отчёт, то таблица в экране просмотра истории будет отфильтрована по выбранному отчёту. Если в списке отчётов ни один отчёт не был выбран, то в экране просмотра будет отображена история исполнения всех отчётов системы.

report execution history
Рисунок 58. The execution history screen

Флаг "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.

  • Настройте конфигурационные параметры:

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