后台导出

<< 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格式”,弹出提示预计下载时间过长,已将导出任务转为后台队列任务。

viewdb-export-queue5

5)导出组件数据。点击组件顶部工具栏省的“导出 > 导出Excel”,同样弹出提示预计下载时间过长,已将导出任务转为后台队列任务,

6)资源管理树中选择“更多 > 后台作业管理”中查看后台作业的情况。

viewdb-export-queue4

报告、组件下载自行选择是否转为后台队列任务

1)打开产品目录下vividime/bihome/bi.properties文件,设置req.timeOut=100,trans.auto=false。即设置单个SQL执行最长为100ms,超过req.timeOut值,报告下载选择是否转为后台队列任务。

2)重启产品。

3)打开报告。

4)导出报告数据,点击报告顶部工具栏上的“输出 > Word格式”,提示导出时间过长,可选择取消导出,转为后台导出任务。

ExportTip

5)点击“转为后台导出”,报告导出任务转为后台导出。

6)导出组件数据:点击组件顶部工具栏上的“导出 > 导出Excel”,同样提示导出时间过长,可选择取消导出,转为后台导出任务。

7)点击“转为后台导出”,组件导出任务转为后台导出。

8)资源管理树中选择“更多 > 后台作业管理中”中查看后台作业的情况。

ExportTask

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.注意事项

不会触发转队列的场景:编辑模式下所有情况,门户下,以及查看(预览)报告下的笔刷联动、刷新、刷新参数、钻取、缩放、撤销、重做、清除笔刷联动、分享、订阅、输出布局、排序。