<< Click to Display Table of Contents >> 后台导出复制链接 |
1.场景介绍
用户通过查看报告对所查数据进行下载(输出PDF/Excel/Word/Word(易编辑)/PNG/CSV/PPT)时,因查询数据量大,出结果慢。此时需要在产品中设立机制,将查询结果集较慢的转为后台队列任务导出,将后台查询结果转为结果集下载到服务器,用户最终通过下载文件查看结果。
2.功能简介
bi.properties文件转队列功能相关配置项如下:
参数 |
说明 |
备注 |
req.timeOut=10000 |
请求超时时间,单位ms。默认为10000,小于10000不启动转队列,大于10000按照时间限定将查询转队列。 |
|
req.trans.maxrow=5000000 |
请求最大行数,默认为5000000。小于5000000不启动转后台,大于5000000按照行数限定将查询转后台。 |
|
trans.auto=false |
false:超过req.timeOut的值,可在提示框中选择是否转为后台导出。后台导出任务的导出结果在消息中心或后台作业管理界面下载查看。默认为false。 true:超过req.timeOut、req.trans.maxrow参数的任一默认值,下载自动转为后台任务,后台导出任务的导出结果在消息中心或后台作业管理界面下载查看。 |
|
db.defense.timeOut=2400000 |
控制报告页面单个sql执行的最长时间。如果超过配置的该值,但未执行完毕,前端会收到 dialog 提示,本次操作取消。如果要转队列,需先配置db.defense.timeOut。 |
|
req.trans.export.path |
查询请求超时后下载文件目录。默认为/YHDownload,与bihome平级。设置需要【绝对路径】 |
|
req.trans.job.interval=60000 |
转后台间隔时间,单位ms。未超过间隔时间,新任务会冲掉旧任务。默认配置为60000,或者不进行配置的时候,不冲掉旧任务 |
后面新操作每执行一次,时间间隔又会被重置。例如设置时间间隔为10s【10000】,那么再第一次触发的时候开始计时,如果在此时间内,再次进行查询,时间又会被重置10s开始计算 |
req.trans.job.user.space=500 |
每个用户默认磁盘空间大小,单位是M,默认为500M |
单c节点单用户,如果是集群环境需要对每个节点下进行配置 |
req.trans.max.jobs=0 |
下载导出需求执行任务最大队列数 |
|
trans.to.job.req=export |
query:查询请求转后台 export:输出请求转后台,默认为export all:查询和输出请求都会后台,执行查询超过req.timeout或req.trans.maxrow也会转队列 |
|
download.job.ip=192.168.0.160:8080/bi/viewer |
配置该参数到bi.propreties,设置负载均衡下载地址(即邮件发送的文件下载地址),配置该地址为服务器下载文件的地址,格式为ip+端口。打开链接后进入登陆页面,输入用户名和密码后就自动开始下载文件 |
85版本需要后面加上/bi/viewer;因为可以自定义ip的内容 |
req.trans.mail=false |
false:默认值,导出成功后不发送邮件。 true:导出成功后发送邮件。 无论配置false还是true,导出失败都会发邮件。 |
|
req.checkDl.interval=0.1 |
0.1天去检查是否删除30天以前的文件:删除,不再需要。 在重启server的时候删除一次,之后每间隔24小时check一次。 |
|
req.deleteDl.circle |
保留30天内的文件和job。 |
|
例如:
•报告下载自动转为后台队列任务
1)打开产品目录下vividime/bihome/bi.properties文件,设置req.trans.maxrow=500,req.timeOut=100,trans.auto=true。即设置转换最大行数500行,单个SQL执行最长为100ms,超过req.timeOut、req.trans.maxrow任一参数的值,下载自动转为后台队列任务。
2)重启产品。
3)打开报告。
4)导出报告数据,点击报告顶部工具栏上的“输出 > Word格式”,弹出提示预计下载时间过长,已将导出任务转为后台队列任务。
5)导出组件数据。点击组件顶部工具栏省的“导出 > 导出Excel”,同样弹出提示预计下载时间过长,已将导出任务转为后台队列任务,
6)资源管理树中选择“更多 > 后台作业管理”中查看后台作业的情况。
•报告、组件下载自行选择是否转为后台队列任务
1)打开产品目录下vividime/bihome/bi.properties文件,设置req.timeOut=100,trans.auto=false。即设置单个SQL执行最长为100ms,超过req.timeOut值,报告下载选择是否转为后台队列任务。
2)重启产品。
3)打开报告。
4)导出报告数据,点击报告顶部工具栏上的“输出 > Word格式”,提示导出时间过长,可选择取消导出,转为后台导出任务。
5)点击“转为后台导出”,报告导出任务转为后台导出。
6)导出组件数据:点击组件顶部工具栏上的“导出 > 导出Excel”,同样提示导出时间过长,可选择取消导出,转为后台导出任务。
7)点击“转为后台导出”,组件导出任务转为后台导出。
8)资源管理树中选择“更多 > 后台作业管理中”中查看后台作业的情况。
4.后台作业管理说明
资源名称:资源的全路径。
资源类型:分析报告、大屏报告、即席分析、组合报告、卡片。
详细信息:组件“***” - 输出PDF;组件“***” - 输出CSV;组件“***” - 输出图片;输出PDF;输出PNG;输出Excel;输出Word;输出CSV;输出Word格式(易编辑);输出PPT;查看(当trans.to.job.req=all时出现)。
创建人员:进行导出的人。
创建时间:转为后台任务的时间。
运行时长:任务执行的时长。
状态:正在运行、待运行、完成、失败、取消
失败原因:任务失败的原因。
操作:下载。下载同消息中心的下载。当任务的状态是完成时,显示下载。
删除:当任务完成后,删除即删除任务和删除对应的导出文件。
运行/停止:当任务是完成、失败、取消的时候,可以点击运行;当任务是正在运行、待运行的时候,可以点击停止。
批量运行:当有完成、失败或取消的任务选中时,可以点击批量运行。
批量停止:当有正在运行或待运行的时候,可以点击批量停止。
批量下载:当有完成的任务被选中时,可以点击批量下载。
批量删除:当有任务被选中时,可以点击批量删除。
5.多C场景
导出的文件可在每个开启调度任务的C上同时备份。
如果其中一个C宕掉,其他C仍能继续下载。
如果通过req.trans.export.path配置了共享路径,不再备份。
6.注意事项
不会触发转队列的场景:编辑模式下所有情况,门户下,以及查看(预览)报告下的笔刷联动、刷新、刷新参数、钻取、缩放、撤销、重做、清除笔刷联动、分享、订阅、输出布局、排序。