[Talend]tSleepを利用して処理を一時停止する

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。DI部の大高です。

今回はTalendのコンポーネント「tSleep」を紹介したいと思います。

前提条件

Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.0.1」で検証しています。

tSleepについて

「tSleep」を利用すると処理の実行を一時停止することができます。

「tSleep」コンポーネントのTalend Helpページはこちらです。

tSleep

では、具体的に以下で解説していきます。

ジョブの説明

「tJava」で開始時間を標準出力に表示し、「tSleep」で処理を一時停止後に「tJava」で終了時間を標準出力に表示します。

「tJava」コンポーネントの設定

「tJava」コンポーネントでは、開始時間と終了時間をそれぞれのコンポーネントで標準出力に表示します。

コードとしては以下のとおりで、現在時刻の取得にはシステムルーチンであるTalendDateを利用しています。

System.out.println("Start: " + TalendDate.getDate("yyyy/MM/dd HH:mm:ss"));
System.out.println("  End: " + TalendDate.getDate("yyyy/MM/dd HH:mm:ss"));

「tSleep」コンポーネントの設定

「tSleep」コンポーネントの設定としては「一時停止(秒)」だけとなります。

ラベルの通り、一時停止する秒数を数値で設定してあげます。今回は「5」秒としました。

実行結果

設定は以上です。実際にこのジョブを実行すると以下のように出力されます。

[statistics] connecting to socket on port 3354
[statistics] connected
Start: 2018/10/15 11:20:22
  End: 2018/10/15 11:20:27
[statistics] disconnected

設定のとおりに5秒停止して処理が実行されました!

まとめ

以上、「tSleep」コンポーネントの紹介でした。

「tSleep」コンポーネントは以前にご紹介した「tLoop」コンポーネントなどと組合せて同じ処理を何度か繰り返す場合に数秒間待つケースで利用することが多いコンポーネントかと思います。

それでは。