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