TROCCOのスケジュール機能は、毎時 / 毎日 / 毎週 / 毎月といった決まった日時にジョブを実行する仕組みです。
そのため、次のような条件付きのスケジュールを設定する場合は、1日ずつ・1時間ずつといった単位で個別にスケジュールを作成する必要があります。
毎日 9 時〜18 時の間だけ実行したい
毎週 月〜金 のみ実行したい
毎月 5 日〜20 日の間だけ実行したい
例えば「毎日 9 時〜18 時に実行したい」場合は、複数のスケジュールを組み合わせて設定します。
そのため、年末年始など一時的に実行を止めたい場合は、作成したスケジュールを1つずつ削除する必要があります。
再開する際には、同じ内容のスケジュールを再度追加する必要があります。
ワークフロー内のデータチェックタスクと条件分岐タスクを利用することで、柔軟なスケジュール設定が可能になります。。
※ DWH(BigQuery、Snowflake、Databricks、Redshift)利用のお客様に限り利用できる設定方法となります。
設定方法
データチェックタスク
以下のクエリはBigQueryを利用した場合のクエリ例です。
* 毎日指定した時刻だけ実行する
例:現在時刻が9時から19時の間だった場合に1を返す
SELECT
CASE
WHEN EXTRACT(HOUR FROM CURRENT_TIMESTAMP("Asia/Tokyo")) BETWEEN 9 AND 19
THEN 1
ELSE 0
END AS result;* 毎週指定した曜日だけ実行する
土日だけでなく祝日も考慮したい場合は、こちらの記事を参考にして設定してください。
例:今日の日付が月曜日〜金曜日(平日)だった場合に1を返す
SELECT
CASE
WHEN EXTRACT(DAYOFWEEK FROM CURRENT_DATE("Asia/Tokyo")) BETWEEN 2 AND 6
THEN 1
ELSE 0
END AS result;* 毎月指定した日付だけ実行する
例:今日の日付が5日〜20日の間だった場合に1を返す
SELECT
CASE
WHEN EXTRACT(DAY FROM CURRENT_DATE("Asia/Tokyo")) BETWEEN 5 AND 20
THEN 1
ELSE 0
END AS result;エラー条件は「クエリ結果が0に等しい」場合にエラーとなるように設定する
条件分岐タスク
対象に上記で作成したデータチェックタスクを選択し、チェック結果が成功したらtrueにする設定を行う
上記のタスクを繋げて、Trueの後続に実行したいジョブを追加することで条件に合う場合のみ実行することが可能です。
最後に、今回作成したワークフローにスケジュールを追加します。
例えば、毎日指定の時間だけ1時間おきに実行したい場合は、実行頻度を「毎時」にして設定します。
毎時0分にワークフローは実行されますが、条件分岐タスクの設定に合致しない場合は、後続のタスクを実行しないので、柔軟なスケジュール実行が可能になります。
条件分岐に関しては、さまざまな記事を用意しているので併せてご確認ください。
▼ 参考
TROCCOのワークフローがさらに便利に!条件分岐で実現する、より柔軟なデータ活用
TROCCOの条件分岐で時間帯によって分岐するワークフローを作ってみた
コメント
0件のコメント
記事コメントは受け付けていません。