當前為5.1版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

排程任務之條件判斷

1. 概述

1.1 版本

FineBI 版本JAR新增功能
5.12020-08-04調度週期>執行條件>自訂類判斷中可新增參數並指派

1.2 功能簡介

排程任務條件判斷是指在執行排程任務之前進行一次校驗判斷,如果不滿足條件就不執行或者延遲後再次校驗執行。

條件判斷包含三種型別的選擇:始終執行公式判斷自訂類判斷。具體說明如下所示:

  • 始終執行:不進行條件判斷,直接執行排程任務。

  • 公式判斷:排程任務在執行前要對當前公式內容進行判定,公式為 true 則繼續執行排程任務,如果公式為 false 則不執行或者延遲執行。延遲執行是指在「調度週期」步驟中勾選任務重啓,會在間隔一段設定的時間後再次執行排程任務,重新進行條件判斷。

  • 自訂類判斷:執行自訂類,傳回值為 true 的時候執行排程任務。

本文將介紹公式判斷自訂類判斷的使用方法。

2. 公式判斷

本章以 Anna 使用者為例,儀表板選擇行業應用>零售行業>產品銷售分析 ,排程管理任務執行結束後,將排程管理任務的結果以連結訊息的形式派送到 Anna 使用者的 App 中。

2.1 儀表板準備

注:使用者需要有儀表板的查看權限、業務包的使用權限才能正常預覽儀表板。

1)管理者進入數據決策系統,點選管理系統>目錄管理>行業應用>零售行業>產品銷售分析>預覽範本,生成「產品銷售分析」儀表板的連結。如下圖所示:

58.png

2)確定 URL 連結中的 IP 為實際 IP ,不能使用 localhost 代替。正確 URL 格式為:http://實際ip:埠號/webroot/decision/v5/design/report/${id}/view,URL 範例如下所示:

http://145.13.4.243:37799/webroot/decision/v5/design/report/314e48b827d745bba7af145aad903a5e/view

注:該連結會在排程管理任務「檔案處理」步驟中使用。

2.2 新增任務

點選管理系統>排程管理>新增任務,如下圖所示:

1659422632723794.png

2.3 基本設定

任務名稱」為公式判斷,新增平台使用者Anna,點選確定,如下圖所示:

59.png

2.4 排程物件

點選下一步,物件型別選擇BI範本,選擇範本行業應用>零售行業>產品銷售分析,如下圖所示:

1659422808802110.png

2.5 調度週期

點選下一步,設定調度週期執行條件選擇公式判斷,在下方的公式輸入框中輸入YEAR(TODAY()) = 2022,勾選如果任務中斷按以下頻率重新啟動,設定「兩次重啓間隔」為 10 分鐘,「最多嘗試重啓次數」為 2 次,如下圖所示:

1659423100919927.png

其中公式的含義及任務重啓設定的含義如下表所示:

設定項備註
公式:YEAR(TODAY()) = 2022任務執行時的年份為 2022 年才滿足條件,可以執行排程任務,否則不執行或延遲校驗執行
任務重啓設定項如果任務執行時的年份不是 2022 年則進行任務重啓,每隔 10 分鐘重啓一次,重啓後再公式判斷,公式判斷還是不滿足則再次任務重啓,直到重啓過 2 次後,若公式判斷還是不滿足,則不執行

2.6 檔案處理

點選下一步,選擇使用者端通知,勾選App 通知,訊息型別選擇連結訊息,主題和內容為測試,自訂連結中輸入本文 2.1 節準備好的儀表板預覽連結,點選儲存按鈕。如下圖所示:

1659423425910198.png

2.7 結果查看

Anna 使用者登入 App ,收到一條新訊息。如下圖所示:

注:App 存取 BI 工程的步驟請參見:配置伺服器存取 BI 工程

1659423954273007.jpg1659423962140867.jpg

3. 自訂類判斷

自訂類判斷是指執行自訂類,傳回值為 true 的時候執行排程任務。

3.1 無參數

3.1.1 自訂類編寫

在執行排程任務時判斷今天是不是週二,如果是週二就執行,不是週二就不執行,Java 檔案名稱稱為ExecuteClass.java。代碼如下所示:

package com.fr.schedule;import java.util.Calendar;import com.fr.schedule.base.provider.ExecuteCondition;public class ExecuteClass implements ExecuteCondition {public boolean execute() {Calendar cal = Calendar.getInstance();int dow = cal.get(Calendar.DAY_OF_WEEK);//星期二的dow等於3return (dow) == 3;}}

編譯之後的 ExecuteClass.class 檔案儲存到%BI_HOME%\webapps\webroot\WEB-INF\classes\com\fr\schedule資料夾下,若無 schedule 資料夾,建立即可。

3.1.2 排程任務設定

修改本文第二章已設定的排程管理任務,在調度週期設定「執行條件」時,選擇自訂類判斷,點選右側的下拉按鈕,選擇上面儲存的 class 檔案。如下圖所示:

63.png

設定完四個步驟之後儲存即可。

3.1.3 效果查看

如果今天是週二,點選運作監視,可以看到運作資訊顯示成功,如下圖所示:

64.png

如果今天不是週二,點選運作監視,可以看到運作資訊顯示快照生成:跨越,如下圖所示:

1659425524379348.png


3.2 有參數

注1:2020-08-04 及之後的 JAR,執行條件選擇自訂類判斷時,可新增參數並指派。

注2:所新增的參數名稱為字母、數字、中文的組合,參數名稱開頭不能為數字。

3.2.1 自訂類編寫

1)點選下載 Java 檔案:NewCondition.zip

執行排程任務時如果參數1的值大於 5 且參數2的值包含「ABC」則執行,代碼如下圖所示:

package com.fr.schedule;import com.fr.general.GeneralUtils;import com.fr.log.FineLoggerFactory;import com.fr.schedule.base.provider.impl.AbstractParameterExecuteCondition;import com.fr.stable.StringUtils;import java.util.List;import java.util.Map;/** * @author Cloud.Liu * @version 10.0 * Created by Cloud.Liu on 2020/5/6 */public class NewCondition extends AbstractParameterExecuteCondition {    @Override    public boolean execute(List<Map

2)編譯之後的 class 檔案儲存到%BI_HOME%\webapps\webroot\WEB-INF\classes\com\fr\schedule資料夾下,若無 schedule 資料夾,建立即可。

3.2.2 排程任務設定

修改本文第二章已設定的排程管理任務,修改任務名稱為自訂類判斷。在調度週期設定「執行條件」時,選擇自訂類判斷,點選右側的下拉按鈕,選擇上面儲存的 class 檔案,並新增參數1參數2,分別指派為 ABC,如下圖所示:

1659425718540583.png

設定完四個步驟之後儲存即可。

3.2.3 效果查看

點選運作監視,可以看到運作資訊顯示成功,如下圖所示:

64.png


參數1參數2的值不滿足「執行條件」,即將參數1的值改為4,點選運作監視,可以看到運作資訊顯示快照生成:跨越,如下圖所示:


65.png

附件列表


主題: 管理员指南
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!