1

以下のシナリオの解決策を見つけようとした後、SME に連絡しています。非常に具体的な要件があります。

1) SCH1 というスケジュールがあり、JOB1、JOB2、JOB3 のような 3 つのジョブがあるとします。

Schedule S1
JOB1

JOB2
FOLLOWS JOB1

JOB3
FOLLOWS JOB2

END

2) JOB1 はシェル スクリプトを呼び出しています。3) ここで、JOB1 シェル スクリプトがコード 0 を返した場合、それは成功であり、JOB2 と JOB3 を実行します。4) シェル スクリプトが返すコードが 0 以外の場合でも、JOB1 は異常終了しません。ただし、他のすべてのジョブ JOB2 および JOB3 はスキップする (または実行せずに完了する) 必要があります。スケジュールは成功とマークされます。

以下のリンクをオンラインで入手しました。これは、これが可能であることを示唆しています。しかし、ジョブ/スケジュール定義の構文を参照すると、次のようになります。どのように記述すればよいのかわかりません。

ジョブの構文では、以下でうまくいくように見えますが、確かではありません。

 [rccondsucc "Success Condition"] 
   [recovery 
        {stop | continue | rerun}
        [after [workstation#]jobname] 
        [abendprompt “text”] ]

条件依存性:

http://www-01.ibm.com/support/knowledgecenter/SSGSPN_9.1.0/com.ibm.tivoli.itws.doc_9.1/zos/src_man/eqqr1conddepevalex.htm?lang=en

ジョブの構文:

http://www-01.ibm.com/support/knowledgecenter/SSGSPN_9.1.0/com.ibm.tivoli.itws.doc_9.1/distr/src_ref/awsrgjobdefn.htm?lang=en

スケジュールの構文:

http://www-01.ibm.com/support/knowledgecenter/SSGSPN_9.1.0/com.ibm.tivoli.itws.doc_9.1/distr/src_ref/awsrgjsdefn.htm?lang=en

4

3 に答える 3

0

条件付き依存関係を使用して Job2 と Job3 をスキップするには、Job1 のステータスが「E」である必要があります。ただし、Job1 が中止された場合にのみ実行される Job4 をアプリケーションに追加できます (これも CondDep で定義されています)。このジョブは Job1 (またはアプリケーション全体) を完了します。それは機能します - 私はちょうどこの例を顧客会議で示しました:-)

また、ジョブ 1 が完了し、ジョブ 2 とジョブ 3 がスキップされる可能性もあります (これらのジョブがジョブ 1 に CondDep を持っている場合)。

于 2016-04-27T16:04:12.943 に答える
0

9.3 FP1 以降、これは組み込みの条件付き依存関係で実装できます。

JOB2 が異常終了した場合に JOB3 を待機させると仮定すると、条件付き依存関係を使用してシナリオを次のように実装できます。
ここに画像の説明を入力

 SCHEDULE SCH1 
 :
 JOB1
  DOCOMMAND "myscript"
  STREAMLOGON twsuser
  SUCCOUTPUTCOND GO "RC=0"
  SUCCOUTPUTCOND NOGO "RC!=0"

 JOB2
  FOLLOWS JOB1 IF GO

 JOB3
  FOLLOWS JOB2
  FOLLOWS JOB1 IF GO
 END

JOB1 には 2 つのSUCCOUTPUTCOND定義があります。RC=0 の場合は GO、RC!=0 の場合は NOGO です。どちらも SUCCOUTPUTCOND です。つまり、JOB1 はどちらの場合も SUCC になります。

  • JOB1 が RC=0 で終了する場合、GO 条件は真であり、FOLLOWS JOB1 IF GO依存関係が満たされるため、JOB2 と JOB3 を実行できます (JOB3 は JOB2 にも があるため、待機しますFOLLOWS JOB2) 。
  • JOB1 が 0 以外の RC で終了する場合、GO は false であり、NOGO は true です。少なくとも SUCCOUTPUTCOND が true であるため、JOB1 は SUCC で完了しますが、条件FOLLOWS JOB1 IF GOが満たされず、JOB2 と JOB3 がSUPPRステータスに設定され、実行されません。
于 2017-03-01T08:56:29.240 に答える