ジョブの無限ループを意図的に起こしてみた
投稿日: / 更新日:
この記事は2年以上前に書かれたものです。情報が古い可能性があります。
こんにちは。
無限ループって怖いですよね?
様々な条件分岐により複雑なジョブフローの構成が可能なHinemosのジョブ機能ですが、
一つ設定を誤ってしまうと、終わりのないジョブフロー(無限ループ)が発生してしまう場合がございます。
今回は、ジョブの無限ループを意図的に発生させ、どのような動作をするのかを簡単に見てみたいと思います。
■設定手順
1.コマンドジョブを作成。コマンドは適当にsleep等を設定。
2.コマンド通知を作成。対象ジョブに手順1で作成したジョブを指定。
3.手順1で作成したジョブの通知設定に手順2で作成したジョブ通知を指定。
“開始”の項目は空欄にする。(情報でも無限ループは発生します)
以上です。
それでは、手順1で作成したジョブを実行してみましょう!
※ご自身で試す場合は、必ず試験用の環境で行ってください
■結果
Job_Aが終了したときの通知によりJob_Aが再度実行され、その通知で更にJob_Aが実行され・・・という無限ループが発生し、Job_Aがひたすら実行され続きます。
■最後に
ジョブの結果でジョブ通知を行うことは無限ループの原因にもなり兼ねないため、Hinemosではこのような設定を推奨しておりません。
このことは以下「Hinemos統合管理[実践]入門」という書籍にも記載されております。
この書籍にはHinemosの監視・ジョブの基本設定から、実運用を見据えた実践的内容が盛り込まれておりますので、ご興味のある方は是非こちらから購入してみてください!
以上、簡単ですがHinemosのジョブの無限ループのご紹介でした。