1、查看资源节点ID
1、记录资源节点ID
- 找到需要预缓存的电子表格资源,右键点击该资源,查看“属性”。
示范资源路径: 示例资源: “分析展现”下, “分析报表” > “功能演示” > “电子表格” > “常见报表” > “分组报表”
- 记录下该资源的“节点ID”。
2、清空系统缓存
- 选择左侧“系统导航栏”内的 “系统运维”,点击“常用工具”菜单栏内的“清空缓存”。
信息 |
---|
清空系统缓存,是为了避免让报表资源的缓存影响后续校验预缓存配置。 |
3、创建计划任务
- 选择左侧“系统导航栏”内的 选择“系统导航栏”内的 “系统运维”,点击“常用工具””,接着点击“常用工具”菜单栏内的“计划任务”。
- 进入“任务”页签下,新建任务。
- “新建任务”界面如下
- 填写任务名称,任务类型选择“定制”,将下方宏代码复制到“自定义设置”区域内,用先前记录下的资源“节点ID”替换掉宏代码指定部分。
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
importPackage(Packages.smartbi.sdk.service.spreadsheetreport); importPackage(Packages.java.io); // 需要缓存的报表 var reportIdList = []; reportIdList.push("I402882820158093309337420015809fa3f40010e需要预缓存的资源ID"); //修改这部分 // 报表对应的参数,初始为空 var paramsInfoList = []; //如果不设置参数,则paramsInfo的值必须为空字符串,不能为空数组 paramsInfoList.push(""); var spreadSheetReportService = new SpreadSheetReportService(connector); for (var i = 0; i < reportIdList.length; i++) { var queryResult = spreadSheetReportService.openQuery(reportIdList[i]); for (var j = 0; j < paramsInfoList.length; j++) { var clientId = queryResult.get('clientId'); var postData = "refreshType=refresh"; postData += "&clientId=" + clientId; postData += "&resid=" + reportIdList[i]; postData += "&sheetIndex=" + 0; postData += "&pageId=" + 0; postData += "&writeBackData=" + ""; postData += "&exportSheetIndexes=" + ""; postData += "¶msInfo¶msInfo=" + paramsInfoList[j]; //postData += "&op=" + '{"getTotalPages":true}'; // 清单报表需要加上这一行代码,取消注释即可 postData += "&exportFormula=" + ""; connector.download("/vision/ssreportServlet", postData, new ByteArrayOutputStream()); } spreadSheetReportService.closeQuery(reportIdList[i]); } |
- 替换后代码如下所示替换后如下所示
注意 |
---|
若选择的电子表格资源是清单报表,则需要加上宏代码中的相应语句(将注释符号“//”去掉即可) |
- 点击“测试运行”校验任务,任务测试运行成功便点击“保存”按钮保存任务。
- 找到刚才创建的任务,点击“执行任务”按钮。”。
4、监控用户日志信息
- 点击登录用户,选择“用户日志”
- 进入“用户日志”界面,在“服务器端”页签下,点击“开始监控”,此时开始监控服务器端的日志信息(不要关闭该标签页)
5、校验预缓存配置
- 打开需要预缓存的电子表格资源返回到Smartbi主界面,打开需要预缓存的电子表格资源
- 切回“切换回“用户日志”标签页,查看日志,”标签页,查看所监控的日志,当监控内容显示如下则说明预缓存配置成功生效
- 当报表打开时调用sql查询,则说明预缓存不生效,配置失败
注意 |
---|
校验的顺序一定要是校验过程中,执行顺序应该参考:
|