6. 报表执行记录

平台提供报表执行记录管理的几个功能:

  1. 存储每个报表的执行记录。系统管理员可以使用报表执行记录查找每个报表的执行频率,每个报表的执行时间、执行人以及当报表运行时发生了什么错误。

  2. 清楚过期的报表执行记录。

报表执行记录默认是不启用的,可以通过设置 reporting.executionHistory.enabled 应用程序属性为 true 来启用。可以在 Administration > Application Properties 界面操作。

报表执行记录界面是管理员性质的界面,所以没有添加到主菜单。要查看执行记录,切换到报表浏览界面(Reports>Reports 菜单项),然后点击 Execution history 按钮。

如果在 Reports 表格选中了任何报表,则执行记录只会显示这些选中报表相关的。 如果没有选中,执行记录会显示所有报表的记录。

report execution history
Figure 60. 报表执行记录界面

"Cancelled" 标志标明用户以后台任务的形势启动报表,然后又取消了。

报表执行历史记录也记录那些从报表编辑器直接运行(点击 Run 按钮)还没有保存到数据库的报表。

输出文档

该机制提供了将输出文档 - 报表结果文件 - 保存到 文件存储 的功能。该功能会消耗一定的文件存储空间,需要单独配置,并且默认是关闭的。如要开启,可以在 Administration > Application Properties 界面设置 reporting.executionHistory.saveOutputDocument 应用程序属性:

reporting.executionHistory.saveOutputDocument = true

现在,如果在执行历史表选中一项,Download document 按钮可点击。点击即可下载报表结果文件。

使用 chartpivot tabletable 类型的报表不会有结果文件,所以这些类型的报表执行结果不会保存任何的输出文档。

如果是使用编程的方式调用 createAndSaveReport() 方法运行报表,则会为同样的结果文件保存另一份拷贝。这两份文件是互相独立存储在文件存储中的。

清理历史记录

可以配置执行历史记录清理程序来删除不需要的数据。

  • 创建并激活一个 计划任务。在你的应用程序中,切换至 Administration > Scheduled Tasks 界面。创建一个新的任务并设置以下参数:

    • Bean Name = reporting_ExecutionHistoryRecorder

    • Method Name = cleanupHistory()

    • Cron = nightly, e.g. 0 0 1 * * *

    • Singleton – yes(对于集群式中间件服务很重要)

      保存任务并点击 Activate

    如果还没有为项目配置计划任务的执行,该计划任务也不会立即执行,直到使用 cuba.schedulingActive 应用程序属性启动了整个项目的计划任务机制。

  • 配置属性:

    当报表执行历史记录被清理后,相关联的报表输出文档也从文件存储中删除了。