一.概要
二.数式判断
実行の遅延とは、[スケジューラ周期]で[タスクを再起動]を有効にしている時、設定された間隔時間が過ぎた後、タスクをリスタートして、条件判断を繰り返します。こうして、リスタート回数が設定値に達していても、条件に満たしていなければ、実行しません。中で一度でも条件に満たしていれば、タスクが始まります。
1.スケジューラ周期
数式判断]
[タスクが中断した場合は、次の頻度で再起動する]を有効にして、[2つの再起動の間隔]を1分に、[再起動の最大試行回数]を2回にします。
設定項目 | 備考 |
2.タスクの結果
三.カスタムクラス判断
1.カスタムクラス設定
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); //The dow of Friday is 6 return (dow) == 6 ; } } |
2.スケジューラ周期
2,四ステップの設定が終わると、[保存]を押します。
3.タスクの結果
四.カスタムクラス判断-パラメータ付き
1.カスタムクラスのプログラミング
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; public class NewCondition extends AbstractParameterExecuteCondition { @Override public boolean execute(List<Map<String, Object>> paramList) { FineLoggerFactory.getLogger().error( "New condition, skip" ); if (paramList.size() < 1 ) { return true ; } int param1 = 0 ; String param2 = StringUtils.EMPTY; for (Map<String, Object> map : paramList) { if (StringUtils.equals(GeneralUtils.objectToString(map.get( "name" )), "Param 1" )) { param1 = Integer.parseInt(GeneralUtils.objectToString(map.get( "value" ))); } else if (StringUtils.equals(GeneralUtils.objectToString(map.get( "name" )), "Param 2" )) { param2 = GeneralUtils.objectToString(map.get( "value" )); } } if (param1 > 5 && param2.contains( "ABC" )) { return true ; } else { return false ; } } } |
2.スケジューラ周期
1.スケジューラタスクにカスタムクラス判断を追加します。スケジューラ周期のページで[実行条件]-[カスタムクラス判断]を選びます。
2.[カスタムクラス]の右側のプルダウンリストから、新たに作成したclassファイルを選び、[パラメータ1]に[6]を代入し、[パラメータ2]に[ABC]を代入します。下の画像の通りです。
3.タスクの結果
2.パラメータ1とパラメータ2が[実行条件]に満たしていなければ、例えばパラメータ1を[4]に変えることにします。運行モニタリングページに[スナップショット生成:スキップ]が表示されています。下の画像の通りです。
五.注意事項
問題の概要
原因:
len数式はA1のセルを読み取っています。A1は拡張セルであるので、読み取られるものはA1に含まれているすべてのセルからなったリストであります。
解決方法: