2017-03-26 25 views
0

私はtalend(1ヶ月未満)に新しいです、私はいくつかの助けを得ることができます希望。talendで失敗したジョブを自動的に再実行するには?

Oracleデータベースからsalesfroceに大量のデータを移行するジョブをテストしていますが、ジョブは正常に機能しますが、データベースの一時的な問題が原因でジョブが失敗することがあります。

しばらくすると自動的に障害が発生した場合にジョブを再実行する方法はありますか(例:接続が失敗した場合、10分後に再試行しますか)。私はインターネットを検索しましたが、私は構造化されたソリューションを見つけました。私は本当にこの問題に固執しています。

これはtalendで達成可能ですか?もしそうなら、どのコンポーネントをどの順序で使用するのですか? ありがとうございます。

+2

どのようにジョブを起動していますか? TACでジョブをスケジュールしたか、Windows Schedulerでスケジュールしましたか? – Viki888

+2

後で再試行したい特定のエラーがありますか?または再実行したいエラーが原因ですか?また、あなたのコードはプロセスのどこにあるのかを把握していますか?それは、すべてのプロセス/トランザクションをロールバックするか、より小さなバッチでコミットするのか? –

答えて

0

テーブル内のジョブステータスをキャプチャし、すべてのジョブについて論理(失敗または成功)を追加します。同様に、メインジョブ - >サブジョブok - >いくつかのtfixedflowinputに接続します。

メインジョブ - >サブジョブエラー - >いくつかのtfixedflowinputにフィールドJobname失敗したフラグ..

ジョブのロード処理が完了したら、失敗したジョブをジョブステータステーブルから取得して再実行するようにスケジューリングします。 (失敗したジョブを動的に実行するには、tdbxxinput(statsテーブル)、tflowtoiterate、コンテキスト変数、trunjobコンポーネントを使用してください)

関連する問題