2011-12-21 8 views
0

私は春バッチでいくつかのジョブを持っています。バッチバッチでジョブ間の依存関係を作成するための考えられる方法

最初のジョブは、いくつかのデータベースクエリを実行し、それ以降のジョブを実行するかどうかを確認する検証ジョブのようなものです。

しかし、この知識を実行するか、異常終了する必要がある残りのジョブに渡すにはどうすればよいですか?

この場合、最善の方法はありますか?

考えられるアプローチの1つは、実行する他のジョブを示すフラグファイル(unix touchコマンド)を作成することです。最後のジョブは、次の日の実行の最終ステップでファイルを削除します。

このアプローチは正しいですか?はいの場合は、タスクレットの中からtouchコマンドを実行する方法は?

読んでいただきありがとうございます!

+1

あり、例えば、この要件のために特定のソフトウェアが存在しますuc4、しかし簡単な解決策のためには、私は "ジョブコントローラ"として機能するシェルスクリプトを使用するだろう –

答えて

0

非常に簡単です:§5.3.2.1. Batch Status vs. Exit Statusをお読みください。

<step id="step1"> 
    <end on="FAILED" /> 
    <next on="COMPLETED WITH SKIPS" to="fallbackStep" /> 
    <next on="*" to="step2" /> 
</step> 
<step id="step2" /> 
<step id="fallbackStep" /> 
+0

おそらくあなたは私の質問を読んでいない...私はステップ間の依存関係が可能であることを知っている...しかし、私はしたくない..私は仕事の間の依存関係が欲しい... – Nik

+0

@NikunjChauhan:多分あなたの質問にもっと正確にする必要があります。あなたは「...彼らが走るか、逃げるべき」と尋ねる。それはまさに流れを使って達成されるものです。ジョブ間で情報を渡す必要がある場合は、 'ExecutionContext'を使います。 –

関連する問題