長期間実行されるタスクのスケジューリング

スケジューラーのデフォルトの動作は、短期間実行用のビジネス・ロジックを実行するように設計されています。 バージョン 6.0.2 以降では、com.ibm.websphere.scheduler.TaskInfo インターフェースの 2 つの API メソッドが、時間を延長してタスクを実行している場合に起こりうるいくつかの問題を回避するのに役立ちます。

このタスクについて

TaskInfo.setQOS メソッドは、トランザクション、および非トランザクションのサービスの品質の両方を持つタスクをサポートします。 長期間実行させるタスクを実行する場合、グローバル・トランザクションのないタスクを実行するために、TaskInfo.QOS_ATLEASTONCE サービスの品質を使用することができます。 この処理は、リソースが長期間のトランザクションによって保留される時に起こる可能性のあるさまざまなタイムアウトの問題を回避します。 TaskInfo.setQOS メソッド、および使用方法について詳しくは、トピック『トランザクションとスケジューラー』を参照してください。

TaskInfo.setExpectedDuration メソッドを使用すると、スケジューラーは、すべてのサービス品質のための特定タスクのタイムアウト値を必要に応じて調整できます。 アプリケーション・サーバーは、タスクの推定実行時間に対応するため、さまざまな実行時間パラメーターの調整を試みます。

手順

  1. TaskInfo オブジェクトをスケジューラー API または WASScheduler MBean にアセンブルするときは、 TaskInfo インターフェースにある次のメソッドを使用します。
    1. サービスの品質の設定
      1. タスクがトランザクションでなければならない場合、setQOS メソッドを QOS_ONLYONCE 定数で、未設定の場合はデフォルトで使用します。
      2. タスクがトランザクションである必要がない場合、setQOS メソッドを QOS_ATLEASTONCE 定数で使用します。
    2. 予想継続時間を設定します。
      1. setExpectedDuration メソッドを使用して、秒単位でタスクの予想継続時間を設定します。
  2. Scheduler.create メソッドを使用して、タスクをスケジュールに入れます。

次のタスク

トピック『スケジューラーへのアクセス』を参照してください。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsch_longtasks
ファイル名:tsch_longtasks.html