0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Hinemosのジョブはカタマリ単位で実行する

Posted at

私はジョブツールをHinemosしか使ったことがなく、これが普通だと思っていたのですが、JP1やJenkinsを使っていた人からすると中々理解しにくい動きをしているらしく、説明整理用にHinemosジョブの動き方についてまとめました。

Hinemosジョブはカタマリ単位で実行される

題名にもありますが、Hinemosジョブはカタマリ単位で実行されます。ここでいうカタマリとはジョブユニットとか、ジョブネットとか、ジョブを指します。

よくある一般的なジョブフロー

よくあるジョブは以下みたいな動きをすると思います。
hinemosjob001.png
ジョブA、ジョブB、ジョブCがそれぞれ順に実行するように設定しています。
このとき、ジョブAを実行すると完了すると後続のジョブB、ジョブCが実行していきます。

Hinemosでのジョブフロー(うまくいかない版)

これと同じようなジョブフローをHinemosジョブで作成すると以下のようになります。
hinemosjob002.png
Hinemosでは親としてジョブユニットを作成し、その子としてジョブネットやジョブを設定するため上記のようになります。ジョブユニットのカタマリの中にそれぞれジョブのカタマリが3つあり、待ち条件を設定しているという感じです。
待ち条件はジョブBは「ジョブAが正常終了」、ジョブCは「ジョブBが正常終了」とします。

このとき、一般的なジョブと同じようにジョブAに対して手動実行やスケジュール実行をした場合、ジョブAは実行されますが、後続のジョブBやジョブCは実行されません。
これは、実行単位のカタマリがジョブユニットではなく、ジョブに対して実行されたためです。この場合はジョブAのカタマリに対してのみジョブ実行が有効になっているイメージのため、いくらジョブBやジョブCで待ち条件を設定してもそもそもジョブ実行が有効となっていないので、実行されないというわけです。

Hinemosでのジョブフロー(うまくいく版)

一般的なジョブのようにジョブA、ジョブB、ジョブCを実行するにはそのひとつ上のカタマリであるジョブユニットを実行します。
image.png
このように、Hinemosのジョブは実行したカタマリの中のジョブネット、ジョブが有効になって実行されるようなイメージです。そのため、ジョブA、ジョブB、ジョブCはジョブユニット1を起動すると3つすべてのジョブが有効になり、何も設定されていなければ並行で同時に実行しようとします。
それを、ジョブフローのように順々に実行したいためにそれぞれ待ち条件をつけるというイメージを持っていただくと設計しやすいと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?