スケジュール一覧にアクセスするためには「管理」>「管理コンソール」>「スケジュール管理」に移動します。
Yellowfinでは、幅広い範囲でタスクスケジュールを設定し、実行することができます。スケジュール化されたタスクには、以下があります。
スケジュールを編集するためには、タスクの「編集」ボタンをクリックし、必要な変更を行います。
変更が完了したら、「保存」ボタンをクリックして変更内容を保存します。
制限を変更する前に、タスクスケジューラーの動作の詳細を把握しましょう。
タスクスケジューラーは毎分起動し、実行が必要なタスクがないかを確認します。
タスク実行の時間であれば、それをキューへ送信します。空きスレッドがある場合、タスクはキューから押し出され、実行を開始します。
すべてのスレッドが埋まっている場合、実行可能なスレッドが解放されるまで、タスクはキュー内で待機します。キューのサイズはデフォルトで20に設定されていますが、これはweb.xml内で変更することができます。
これは、過剰なタスクを一度に実行しようとしているのか、それともタスク完了が非常に遅いのかを示しています。
システム構成を変更することで、一度により多くのタスクを実行できるようにサーバのメモリやCPUを増加させることができます。(キューを大きくし、スレッドサイズを増加します)
一度に多数のタスクを実行しないよう、スケジュールが設定されたタスクを変更することができます。例えば、すべてのタスクを一度に深夜帯に実行するのではなく、一日を通して、少しずつ実行するとよいでしょう。
次にタスクスケジューラーが起動したタイミングで、タスクが完了し、解放されたリソースがあるかもしれないため、再度タスクをキューへ追加する試行が行われます。
タスクスケジューラーのスレッドとキューの制限を変更するには、以下の手順に従います。
Yellowfin/appserver/webapps/ROOT/WEB-INFディレクトリにアクセスします。
web.xmlファイルを開きます。
タスクスケジューラー項目までスクロールします。ファイルでは、以下のような内容が表示されます。
こちらの項目から、init-paramタグをコメントアウトします。
TaskSchedulerThreadsパラメーターの値を変更することで、一度に実行されるデフォルトのタスク数を、TaskSchedulerMaxThreadQueueパラメーターの値を更新することで、キューに一度に追加することのできるタスク数の最大値を変更することができます。
ファイルを保存します。キューとスレッドの制限が、それぞれ更新されます。