历史版本40 :定时调度 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本JAR 新增功能
10.02020-06-08定时调度任务配置完成后,在 用户管理 中删除 基本设置 步骤「默认用户组」中的用户角色部门职务,再次执行定时调度任务,fanruan.log日志文件中显示error级别报错提醒
2020-07-08「运行监控」 Tab 页下可展示执行中的任务

注:fanruan.log 日志文件存储路径为:%FR_HOME%\logs

1.2 应用场景

  • 企业用户可能面临这样的情况,报表是需要定期生成、定期发布的,不得不定期做重复的事情来得到用户需要的报表。

  • 定期给客户发送问卷,客户填写相关信息后,提交到数据库中。

1.3 功能简介

FineReport 的定时调度功能可以让用户从不厌其烦的重复操作中解脱,可以方便快捷地设置日报、月报、季报、年报等任务,无需额外工作,定时任务设定后服务器便会在指定的时间自动完成设定的任务,生成所需的文件,甚至可以将生成的结果以邮件、短信、平台消息的方式通知用户,让用户及时的进行分析与决策。

注:定时调度推送的报表若想实现填报功能,请参见 定时调度任务详细设置步骤 文档中 6.1 节的「客户端通知」。

2. 操作方法编辑

2.1 设置入口

定时调度的设置入口有两个,分别为:
1)定时器( op=fs )

进入决策系统,选择管理系统>定时调度,即可进入定时调度的设置界面。

Snag_8d3dce7.png

2)定时器(独立 timer)

如果不想通过决策系统来设置定时任务,也可以访问http://localhost:8075/webroot/decision/timer直接进入设置页面。详情参见文档:timer直接定时调度

2.2 执行过程

  • 定时任务执行过程流程图如下图,定时任务开始时,首先进行条件判断,判断为真则生成快照,判断为假则确定是否设置了重启,如果设置了重启,则延时重新开始定时任务,又重新开始进行条件判断,没设置任务重启,则直接结束定时任务。

  • 生成快照成功则进入附件发送,失败则判断是否设置任务重启,设置了就重新进入条件判断,没设置则结束定时任务。

  • 附件发送成功就可以结束定时任务,如果发送失败暂时也只能直接结束定时任务。
    222

注1:定时任务中的条件判断、生成快照和附件发送如果失败则都需要进行判断是否设置了任务重启。

注2:定时调度任务详细设置步骤请参见:定时调度任务详细设置步骤

2.3 运行监控

运行监控类似于日志,可以记录定时调度任务运行的简略信息。右侧搜索框中可筛选任务运行数据,如下图所示:

注1:运行监控默认只显示当天任务运行数据,在搜索框中输入内容可筛选历史任务运行数据,不输入内容点击搜索按钮可显示所有日期的定时调度任务运行数据。

注2:2020-07-08 及之后的 JAR ,「运行监控」 Tab 页下可展示执行中的任务。

6.png

若定时调度任务正在执行,则在「运行监控」 Tab 页执行中的任务中显示,如下图所示:

注:「执行中的任务」列表中默认展示所有执行中的任务,不区分是否当天执行。

6.png

2.4 查看附件

定时调度任务执行完毕后,生成的附件会默认保存到%FR_HOME%\webapps\webroot\WEB-INF\schedule路径下。

Snag_9af7dc1.png

注1:schedule文件夹具体介绍请参见:定时任务的权限控制

注2:设置定时任务时,若在「调度对象」步骤中选择模板的类型为决策报表,并勾选附件存档 excel03、excel07、word、pdf,则生成的附件不支持 body 背景色。

2.5 任务管理

任务管理界面可以新建、修改、删除定时调度任务。有关创建定时调度任务的详细步骤可以参见文档:定时调度任务详细设置步骤

新建完成的定时调度任务会按列表显示在任务管理面板,可执行的管理操作包括:执行一次编辑复制查看删除

注1:无调度对象类型的定时调度任务显示在列表中时,「使用模板」下显示的是- -。

注2:暂不支持对定时调度任务进行分组管理和批量执行,如需实现请联系技术支持。技术支持联系方式:QQ「800049425」、电话「400-811-8890」。

3.png

点击右侧查看按钮,可查看定时调度任务具体配置,如下图所示:

3.png

2.6 全局设置

运行失败提醒,包括短信、平台通知、邮件,提醒里包含任务名称和运行失败的时间。

点击定时调度页面左上方的全局设置按钮,即可设置运行失败提醒信息。

提醒方式包括:短信平台通知邮件。提醒内容是任务名称和运行失败的时间。

Snag_9a77b86.png

注1:失败提醒,若设置了重启,当重启成功时就不发信息了,只有重启依然失败才发出消息。

注2:开启短信功能参见文档: 短信 ,配置邮箱服务参见文档: 邮箱 

当定时任务运行失败时,会发送运行失败提醒,如下图所示:

短信提醒:

222

平台消息:

1572424126243434.png

邮件提醒:

1572423687419507.png

3. 删除定时任务中用户信息报错提示编辑

2020-06-08 及之后的 JAR 中,定时调度任务配置完成后,在 用户管理 中删除 基本设置 步骤「默认用户组」中的用户角色部门职务再次执行定时调度任务,fanruan.log日志文件中显示error级别报错提醒。

具体报错逻辑如下表所示:

注:「自定义用户」介绍请参见:基本设置

删除内容具体场景报错提醒
用户被删除

平台用户:

删除一个用户:一行报错

删除 200 个用户:一行报错,200 个用户都提示被删除

删除超过 200 个用户:一行报错,只提示 200 个用户被删除

自定义用户:

只要字段中匹配不到的用户都报错,最多 200 个

格式:

默认用户组中部分用户不存在,请核对定时调度任务:[pp(pp)]

示例:

默认用户组中部分用户不存在,请核对定时调度任务:[孙建成(Billy), 王国强(Cherry)]

角色被删除

删除一个角色:一行报错

删除多个角色:一行报错

默认用户组中部分角色不存在,请核对定时调度任务

部门被删除

删除一个部:一行报错

门删除多个部门:一行报错

默认用户组中部分部门职务不存在,请核对定时调度任务

职位被删除

删除一个职位:一行报错

删除多个职位:一行报错

默认用户组中部分部门职务不存在,请核对定时调度任务

4. 公式使用编辑

注1:2020-04-26 及之后的 JAR 中,定时调度任务设置过程中支持获取「聚合报表」单元格的值。

注2:设置定时调度任务过程中,可以使用的公式及其用法可参考 定时调度支持的公式

公式的使用范围及说明如下表所示:

FineReport 模板类型公式使用位置备注
普通报表

调度对象-参数设置

调度对象-文件名称

调度周期-执行条件-公式判断

文件处理-平台通知-主题和内容

文件处理-邮件通知-主题和内容

文件处理-客户端通知-主题和内容

文件处理-短信通知-短信参数

--
聚合报表、决策报表

调度对象-文件名称

调度周期-执行条件-公式判断

文件处理-平台通知-主题和内容

文件处理-邮件通知-主题和内容

文件处理-客户端通知-主题和内容

文件处理-短信通知-短信参数

1)只取默认 sheet 页的格子值,不能跨 sheet 取数

2)聚合报表中,无论是一个还是多个 block ,参数名必须为block1~A1形式,不能直接为A1

5. 注意事项编辑

5.1 请求服务器数据失败

问题描述:

JAR 包为 2019-12-05 及之后的 FineReport 设计器,在其决策平台上创建「无调度对象」类型的任务后,如果再将 JAR 包回退到 2019-12-05 之前,便会报下面所描述的错误。

数据决策系统中,点击管理系统>定时调度后,立刻报错「请求服务器数据失败」,且定时调度任务列表显示为空;

同时后台日志报错 java.lang.IllegalArgumentException: Non-existent schedule extension modules,如下图所示:

1572425916236843.png

21.png

原因分析:

该现象是因为出现了兼容性问题,这种情况下任务正常执行,但任务列表无法正常显示。

解决方案:

需要下载「云端运维-定时调度脏数据删除插件」,自动检查并删除/提示删除脏数据。

注:本文暂不提供下载链接,请需要的客户联系技术支持获取。

插件使用方法:

1)访问平台下的/url/clean,如 http://ip:port/webroot/decision/url/clean。如下图所示:

1572427064883317.png

2)提示找到了无调度对象的定时调度任务,名字为「工资表」,共计 1 个,点击下面的链接即可删除该任务,如下图所示:

1572427197146227.png

3)删除 FineDB 数据库中所有 QRTZ 开头的表,重启工程。如下图所示:

注:删除会导致定时任务全部终止,手动重新运行即可。

image.png

4)查看 fanruan.log 中有没有连接数据库超时的日志,如果有可以修改\webroot\WEB-INF\config目录下的db.properties文件,把hibernate.maxWait值改为500000(500000=500秒)。如下图所示:

image.png

image.png

5.2 点击结果链接图表数据空白

问题描述:

JAR 包为 2019-09-27 之后的 FineReport 设计器,在其决策平台上新建定时调度任务,如果再将 JAR 包回退到之前版本(2019-05-20 至 2019-09-27,包括 2019-09-27 ),不重新执行此定时调度任务查看之前执行时挂载的结果链接,图表不可见,如下图所示:

13.png

解决方案:

已回退到的版本再次执行此任务,生成新结果链接,可查看图表。

注:不建议用户回退,由于版本间不向上兼容,回退后可能会出现一些问题。

6. 索引编辑

序号章节小节简介参考文档
1定时调度任务详细设置步骤定时调度任务详细设置步骤定时调度任务设置时四个操作步骤的详细介绍定时调度任务详细设置步骤
2
定时调度支持的公式定时调度支持的公式详细介绍设置定时调度任务过程中,可以使用的公式及其用法定时调度支持的公式
3调度周期表达式设定调度周期步骤中,表达式设定详解表达式设定
定时任务之条件判断在执行定时任务之前进行一次校验判断,如果不满足条件就不执行或者延迟后再次校验执行定时任务之条件判断
4文件处理FTP 上传附件将定时任务生成的文件上传到其他服务器的 FTP 上面FTP上传附件
自定义上传文件至磁盘将定时任务生成的文件导出到自定义位置,而不是系统默认位置自定义上传文件至磁盘
自定义上传文件至 FTP 服务器根据执行结果判断是否将该结果文件导出并上传至 FTP 站点自定义上传文件至 FTP 服务器
5定时任务的权限控制定时任务的权限控制定时任务所生成的附件或邮件内容可根据用户的不同而不同,实现向不同用户分发相应用户数据的报表定时任务的权限控制
定时任务邮件发送实现不同的人发送不同内容定期给不同的人发送不同内容的邮件定时任务邮件发送实现不同的人发送不同内容
定时任务 CPR 文件内容权限控制每个用户只看到自己信息,例如,定时的在每个月月底,用户查看自己工资定时任务 CPR 文件内容权限控制
6定时任务结果报表定时任务结果报表定时调度任务执行后生成的结果报表定时任务结果报表
7定时任务提醒方式定时任务发送邮件定时任务完成后将结果以邮件形式发送给收件人定时任务发送邮件
定时任务发送短信通知定时任务完成后将结果以短信形式发送给收信人定时任务发送短信通知
8定时调度简单示例定时任务简单示例之日报在每天生成固定某个时间段的数据定时任务简单示例之日报
定时任务之月报与年报每月在固定某个时间段统计各个分公司的销售业绩,或在年底统计各个分公司的销售业绩定时任务之月报与年报
定时填报定时实现数据的加载、汇总、填入库等操作定时填报
定时调度中获取全局参数获取到全局参数来作为消息内容定时调度中获取全局参数
9通过链接进入定时调度设置页面通过链接进入定时调度设置页面通过链接直接访问定时调度设置页面通过链接进入定时调度设置页面
10定时调度相关插件邮件正文预览报表内容图片显示插件安装此插件后邮件正文默认以图片格式预览报表内容邮件正文预览报表内容图片显示插件
定时器导出任务支持行式引擎插件安装次插件后定时调度任务支持行式引擎,可以导出 Word、Excel、PDF 格式的附件定时器导出任务支持行式引擎插件
11定时调度日志迁移定时调度日志迁移用户可控制定时调度日志的数据来源,并进行定期清理定时调度日志迁移