Gluesyncによる同期をスケジュール管理:クロノススケジューラ


GluesyncではChronos Schedulerというコンポーネントを用いて、CDC(変更データキャプチャ)の一時停止や有効化、スナップショットの実行などをスケジュール管理できます。

Chronos Schedulerはオープンソースプロジェクトであり、別途構成することも可能ですが、Gluesyncの評価キットにも含まれていますので、評価キットからデプロイしていればすぐにご利用いただけます。

GluesyncのWeb UIの左側にあるカレンダーと時計が合わさったアイコンをクリックすると、設定画面に移動できます。

ここから以下の様な設定が可能です。

スケジュールモード

スケジュールは以下の2種類のモードで設定でき、週次、日次の簡単な繰り返しなら週次モード、複雑なスケジュールならCRONモードを使用できます。

週次

実行する曜日と指定したアクションを実行する時間を指定するのみの簡単なスケジュール設定です。

CRON

Linuxのスケジューラとしてよく使用されるcron形式でスケジュールを設定可能です。

cron形式では以下のように各項目で実行するタイミングを値として指定します。
※一部動作が一般的なcronと異なる場合があります。

┌───────────── 分 (0 - 59)
│ ┌───────────── 時 (0 - 23)
│ │ ┌───────────── 月の日 (1 - 31)
│ │ │ ┌───────────── 月 (1 - 12)
│ │ │ │ ┌───────────── 曜日 (0 - 6) (日曜から土曜)
│ │ │ │ │
│ │ │ │ │
* * * * *

数字以外にも以下のような記号を使用できます。

*任意の値
,値の区切り文字
値の範囲を指定※小さい値から大きい値のみ
/ステップ値※月の日以外で使用可能

例:

15,45 * * * * 毎時で15分と45分に実行
0 18-23/2 * * *19時から23時間の間、2時間おきで0分に実行
0 0 1-7 * 0 値の範囲を指定※小さい値から大きい値の毎月1から7日(第1週)の日曜日の0時0分に実行
※一般的なcronと異なり月の日と曜日はAND条件で処理されます。
0 0 * * 1,6 毎週月曜と土曜の0時0分に実行

スケジュール対象の指定

スケジュールは個別のエンティティ(テーブル単位の同期設定)、グループ(同一パイプライン内で作成できるエンティティを複数まとめた設定)、パイプライン(データベース接続の組み合わせ)単位で設定できます。

実行できるアクション

以下のアクションを設定したスケジュールで実行可能です。

  • 一時停止:実行されているエンティティを一時停止し、同期を停止
  • CDC:変更データキャプチャによるリアルタイムな差分同期を開始
  • TRUNCATEを使用したスナップショット:ターゲットテーブル上のレコードを全件削除後にINSERTにより高速に全件同期を実施
  • TRUNCATEなしでスナップショット:ターゲットテーブル上のレコードを削除せずに、UPSERT(異なる部分をUPDATE、不足部分はINSERT)により全件同期

スケジュールの実行状況

スケジュールの実行状況は簡易的には一覧画面で確認できます。ラストランのステータスをクリックすると、実行した日時と次回実行日時を確認可能です。

また、スケジュールのステータスでチェックを外すことで、削除しなくともスケジュール設定を無効化できます。

加えてスケジュール実行のみではありませんが、エンティティに対するアクションは個別エンティティのダッシュボード下部の履歴ログや、通知ハブでエンティティ等を絞り込んで確認可能です。

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.