1. 概述
1.1 版本
報表服務器版本 | JAR | 新增功能 |
---|---|---|
10.0 | 2020-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 )
進入決策系統,選擇管理系統>定時調度,即可進入定時調度的設置界面。
2)定時器(獨立 timer)
如果不想通過決策系統來設置定時任務,也可以訪問http://localhost:8075/webroot/decision/timer直接進入設置頁面。詳情參見文檔:timer直接定時調度
2.2 執行過程
定時任務執行過程流程圖如下圖,定時任務開始時,首先進行條件判斷,判斷爲真則生成快照,判斷爲假則确定是否設置了重啓,如果設置了重啓,則延時重新開始定時任務,又重新開始進行條件判斷,沒設置任務重啓,則直接結束定時任務。
生成快照成功則進入附件發送,失敗則判斷是否設置任務重啓,設置了就重新進入條件判斷,沒設置則結束定時任務。
附件發送成功就可以結束定時任務,如果發送失敗暫時也只能直接結束定時任務。
注1:定時任務中的條件判斷、生成快照和附件發送如果失敗則都需要進行判斷是否設置了任務重啓。
注2:定時調度任務詳細設置步驟請參見:定時調度任務詳細設置步驟
2.3 運行監控
運行監控類似於日志,可以記錄定時調度任務運行的簡略信息。右側搜索框中可篩選任務運行數據,如下圖所示:
注1:運行監控默認只顯示當天任務運行數據,在搜索框中輸入内容可篩選曆史任務運行數據,不輸入内容點擊搜索按鈕可顯示所有日期的定時調度任務運行數據。
注2:2020-07-08 及之後的 JAR ,「運行監控」 Tab 頁下可展示執行中的任務。
若定時調度任務正在執行,則在「運行監控」 Tab 頁執行中的任務中顯示,如下圖所示:
注:「執行中的任務」列表中默認展示所有執行中的任務,不區分是否當天執行。
2.4 查看附件
定時調度任務執行完畢後,生成的附件會默認保存到%FR_HOME%\webapps\webroot\WEB-INF\schedule路徑下。
注1:schedule文件夾具體介紹請參見:定時任務的權限控制
注2:設置定時任務時,若在「調度對象」步驟中選擇模板的類型爲決策報表,并勾選附件存檔 excel03、excel07、word、pdf,則生成的附件不支持 body 背景色。
2.5 任務管理
任務管理界面可以新建、修改、删除定時調度任務。有關創建定時調度任務的詳細步驟可以參見文檔:定時調度任務詳細設置步驟
新建完成的定時調度任務會按列表顯示在任務管理面板,可執行的管理操作包括:執行一次、編輯、複制、查看和删除。
注1:無調度對象類型的定時調度任務顯示在列表中時,「使用模板」下顯示的是- -。
注2:暫不支持對定時調度任務進行分組管理和批量執行,如需實現請聯系技術支持。技術支持聯系方式:QQ「800049425」、電話「400-811-8890」。
點擊右側查看按鈕,可查看定時調度任務具體配置,如下圖所示:
2.6 全局設置
運行失敗提醒,包括短信、平台通知、郵件,提醒裏包含任務名稱和運行失敗的時間。
點擊定時調度頁面左上方的全局設置按鈕,即可設置運行失敗提醒信息。
提醒方式包括:短信、平台通知、郵件。提醒内容是任務名稱和運行失敗的時間。
注1:失敗提醒,若設置了重啓,當重啓成功時就不發信息了,只有重啓依然失敗才發出消息。
注2:開啓短信功能參見文檔: 短信 ,配置郵箱服務參見文檔: 郵箱
當定時任務運行失敗時,會發送運行失敗提醒,如下圖所示:
短信提醒:
平台消息:
郵件提醒:
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,如下圖所示:
原因分析:
該現象是因爲出現了兼容性問題,這種情況下任務正常執行,但任務列表無法正常顯示。
解決方案:
需要下載「雲端運維-定時調度髒數據删除插件」,自動檢查并删除/提示删除髒數據。
注:本文暫不提供下載鏈接,請需要的客戶聯系技術支持獲取。
插件使用方法:
1)訪問平台下的/url/clean,如 http://ip:port/webroot/decision/url/clean。如下圖所示:
2)提示找到了無調度對象的定時調度任務,名字爲「工資表」,共計 1 個,點擊下面的鏈接即可删除該任務,如下圖所示:
3)删除 FineDB 數據庫中所有 QRTZ 開頭的表,重啓工程。如下圖所示:
注:删除會導緻定時任務全部終止,手動重新運行即可。
4)查看 fanruan.log 中有沒有連接數據庫超時的日志,如果有可以修改\webroot\WEB-INF\config目錄下的db.properties文件,把hibernate.maxWait值改爲500000(500000=500秒)。如下圖所示:
5.2 點擊結果鏈接圖表數據空白
問題描述:
JAR 包爲 2019-09-27 之後的 FineReport 設計器,在其決策平台上新建定時調度任務,如果再将 JAR 包回退到之前版本(2019-05-20 至 2019-09-27,包括 2019-09-27 ),不重新執行此定時調度任務查看之前執行時挂載的結果鏈接,圖表不可見,如下圖所示:
解決方案:
已回退到的版本再次執行此任務,生成新結果鏈接,可查看圖表。
注:不建議用戶回退,由於版本間不向上兼容,回退後可能會出現一些問題。
6. 索引
序号 | 章節 | 小節 | 簡介 | 參考文檔 |
---|---|---|---|---|
1 | 定時調度任務詳細設置步驟 | 定時調度任務詳細設置步驟 | 定時調度任務設置時四個操作步驟的詳細介紹 | 定時調度任務詳細設置步驟 |
2 | 定時調度支持的公式 | 定時調度支持的公式 | 詳細介紹設置定時調度任務過程中,可以使用的公式及其用法 | 定時調度支持的公式 |
3 | 調度周期 | 表達式設定 | 調度周期步驟中,表達式設定詳解 | 表達式設定 |
定時任務之條件判斷 | 在執行定時任務之前進行一次校驗判斷,如果不滿足條件就不執行或者延遲後再次校驗執行 | 定時任務之條件判斷 | ||
4 | 文件處理 | FTP 上傳附件 | 将定時任務生成的文件上傳到其他服務器的 FTP 上面 | FTP上傳附件 |
自定義上傳文件至磁盤 | 将定時任務生成的文件導出到自定義位置,而不是系統默認位置 | 自定義上傳文件至磁盤 | ||
自定義上傳文件至 FTP 服務器 | 根據執行結果判斷是否将該結果文件導出并上傳至 FTP 站點 | 自定義上傳文件至 FTP 服務器 | ||
5 | 定時任務的權限控制 | 定時任務的權限控制 | 定時任務所生成的附件或郵件内容可根據用戶的不同而不同,實現向不同用戶分發相應用戶數據的報表 | 定時任務的權限控制 |
定時任務郵件發送實現不同的人發送不同内容 | 定期給不同的人發送不同内容的郵件 | 定時任務郵件發送實現不同的人發送不同内容 | ||
定時任務 CPR 文件内容權限控制 | 每個用戶只看到自己信息,例如,定時的在每個月月底,用戶查看自己工資 | 定時任務 CPR 文件内容權限控制 | ||
6 | 定時任務結果報表 | 定時任務結果報表 | 定時調度任務執行後生成的結果報表 | 定時任務結果報表 |
7 | 定時任務提醒方式 | 定時任務發送郵件 | 定時任務完成後将結果以郵件形式發送給收件人 | 定時任務發送郵件 |
定時任務發送短信通知 | 定時任務完成後将結果以短信形式發送給收信人 | 定時任務發送短信通知 | ||
8 | 定時調度簡單示例 | 定時任務簡單示例之日報 | 在每天生成固定某個時間段的數據 | 定時任務簡單示例之日報 |
定時任務之月報與年報 | 每月在固定某個時間段統計各個分公司的銷售業績,或在年底統計各個分公司的銷售業績 | 定時任務之月報與年報 | ||
定時填報 | 定時實現數據的加載、彙總、填入庫等操作 | 定時填報 | ||
定時調度中獲取全局參數 | 獲取到全局參數來作爲消息内容 | 定時調度中獲取全局參數 | ||
9 | 通過鏈接進入定時調度設置頁面 | 通過鏈接進入定時調度設置頁面 | 通過鏈接直接訪問定時調度設置頁面 | 通過鏈接進入定時調度設置頁面 |
10 | 定時調度相關插件 | 郵件正文預覽報表内容圖片顯示插件 | 安裝此插件後郵件正文默認以圖片格式預覽報表内容 | 郵件正文預覽報表内容圖片顯示插件 |
定時器導出任務支持行式引擎插件 | 安裝次插件後定時調度任務支持行式引擎,可以導出 Word、Excel、PDF 格式的附件 | 定時器導出任務支持行式引擎插件 | ||
11 | 定時調度日志遷移 | 定時調度日志遷移 | 用戶可控制定時調度日志的數據來源,并進行定期清理 | 定時調度日志遷移 |