はじめに
ASTERIA Warp はGUI で使えるのでとても扱いやすいツールだと思います。
その中で、フローの数が増えてきて、バッチ(スケジュール)の数が増えると、
バッチA 実行中はバッチB 動いて欲しくないな・・・。という事があると思います。
今回はバッチA の中で、バッチB のスケジュールを無効(一時停止)し、有効に戻すというような、
フローの処理中に、スケジュールを有効、無効に切り替える方法をまとめて行きたいと思います。
環境
ASTERIA Warp 1906
Amazon Linux AMI release 2018.03
結論
フローの処理の中でスケジュールの有効、無効を切り替える!
ここでいうスケジュールとは、フローデザイナーのヘッダー部分にある雷マークをクリックすると出てくる物を指しています。
手順
まず初めに管理コンソールに接続する為のHTTP のコネクションを作成します。
URL のポート番号は下記を参考に28080を指定します。
ASTERIA Warpのリスナー一覧にて外部向けと内部向けポートについて
フローの内容については大きく分けると以下3つのフローに分けられます。
1.管理コンソールにログイン
2.スケジュールの有効、無効を切り替える!
3.管理コンソールからログアウトする
一つずつ見て行きます。
1.管理コンソールにログイン
REST コンポーネントを下記のように設定します。
Mapper 関数で管理コンソールにログインするユーザ名、パスワードを指定します。
2.スケジュールの有効、無効を切り替える
REST コンポーネントを下記のように設定します。
先ほどと同じようにMapper 関数でREST コンポーネントの各項目に値を入れて行きます。
それぞれの入力項目の説明です。
type:下記を参考にして、今回は「指定間隔で実行するスケジュール」なので「interval」にします。
コマンド一覧
name:登録しているスケジュールの名前を入力します。
userName:スケジュール登録したユーザの名前を入力します。
status:true or false を入力します。有効にする場合はtrue、無効にする場合はfalse にします。
X-As-SessionId:ログイン時のセッションを渡します。ログアウトする時も使うので今回はフロー変数にも情報を渡しています。
ここの実行が完了すると、スケジュールのステータスが指定したものに切り替わっているはずです。
3、管理コンソールからログアウトする
REST コンポーネントを下記のように設定します。
Mapper 関数の設定はシンプルでログイン時のセッションを渡すだけです。
以上です。
このフローをバッチの中に組み込めば別のフローのスケジュールを有効、無効に切り替えする事ができます。
スケジュールを無効にする際は「今動いているバッチを停止する」ではなく、「次のバッチの開始を止める」なので、その点は留意して下さい。
おわりに
この処理調べている中で、結構知らなかった事の発見が多く、
情報まとめてみるって大事だなーと思いました。
皆様も情報まとめて公開してみてはいかがでしょうか。
(ASTERIA の記事も待ってます!)
参考資料
ASTERIA Warp Developer Network (ADN)(最終閲覧日:2021年11月1日)
ASTERIA Warp フローサービスマニュアル(最終閲覧日:2021年11月1日)