概要
Yellowfinでは、スケジュールが設定されたレポートを作成することができます。場合によっては、管理者が不要なスケジュール設定を削除することもできます。「管理パネル」から、個別のタスクを開くことなく、すべてのスケジュールタスクの参照、削除をすることができます。
スケジュール一覧にアクセスするためには「管理」>「管理コンソール」>「スケジュール管理」に移動します。
スケジュールタイプ
Yellowfinでは、幅広い範囲でタスクスケジュールを設定し、実行することができます。スケジュール化されたタスクには、以下があります。
- ブロードキャスト - 指定したユーザーへ、コンテンツを定期的に送信します。
- キャッシュフィルターの更新 - レポートキャッシュフィルターの値を定期的に更新します。
- キャッシュされたビュー - ビューにキャッシュされたデータを定期的に更新します。
- レポート - 結果をキャッシュするように設定されたレポートのデータを更新します。
- レポート購読 - 指定したユーザーへ、レポートを定期的に送信します。
- アクセスフィルター - アクセスフィルターの値を定期的に更新します。
- サードパーティ - サードパーティコネクターに必要なデータを更新します。コネクターによっては、データの読み込みや変換が行われます。
- シグナル解析 - シグナルの解析を実行します。
スケジュールアイコン
スケジュールアイコン | 名前 | 説明 |
(何もしていない) | まだ実行されていないタスクです。 | |
スケジュール実行中 | 現在実行中のタスクです。 | |
最終実行成功 | 最終実行が成功したタスクです。 | |
最終実行失敗 | 実行が失敗したタスクです。 | |
スケジュール中断 | 実行中に中断されたため、完了していないタスクです。 | |
スケジュール中断、最終実行成功 | 最終実行は成功したが、中断されたため、スケジュールに基づく実行がされないタスクです。 |
スケジュールの表示
スケジュール一覧では、スケジュールタスクの検索、参照、編集、中断、実行、削除をすることができます。
スケジュールの編集
タスク名をクリックすることで、スケジュールの詳細を確認することができます。
スケジュールを編集するためには、タスクの「編集」ボタンをクリックし、必要な変更を行います。
変更が完了したら、「保存」ボタンをクリックして変更内容を保存します。
スケジュールタスクの中断
タスクを中断するためには、タスク名をクリックして開き、「中断」ボタンをクリックします。
スケジュールタスクの実行
タスクを実行するためには、タスク名をクリックして開き、「今すぐ実行」ボタンをクリックします。
スケジュールタスクの削除
スケジュールタスク一覧から削除したいタスクを選択し、「削除」ボタンをクリックします。
スケジュールの更新
スケジュールを更新するためには、一覧下部にある「更新」ボタンをクリックします。
タスクスケジューラー管理
スケジュール設定されたすべてのタスク(レポートのブロードキャスト、トランスフォーメーションフローやフィルターの実行、など)は、Yellowfinのタスクスケジューラーが管理するキューに追加されます。ただし、メモリやCPUリソースを消費する多数の待機中タスクにより、システムが過負荷になるのを防ぐため、一度にこのキューに追加できる項目数には制限があります。この制限は、web.xmlファイルから変更することができます。
タスクスケジューラーの制限
制限を変更する前に、タスクスケジューラーの動作詳細を把握しましょう。
- タスクスケジューラーは毎分起動し、実行が必要なタスクがないかを確認します。
- タスク実行の時間であれば、それをキューへ追加します。空きスレッドがある場合、タスクはキューから押し出され、実行を開始します。
- すべてのタスクスレッドが埋まっている場合、実行可能なスレッドが解放されるまで、タスクはキュー内で待機します。デフォルトでは、一度に実行できるスレッドは5に設定されています。(このスレッド制限は、web.xmlファイルから変更することができます)
- スレッドがすべて埋まっている場合、タスクは拒否され、実行することができません。この場合は、ログに警告が送信されます。デフォルトでは、キューサイズは20に設定されていますが、これもweb.xml内で変更することができます。
- これは、一度に過剰なタスクを実行しようとしているのか、それともタスク完了が非常に遅いのかを示します。
- システム構成を変更することで、一度により多くのタスクを実行できるようにサーバのメモリやCPUを増加させることができます。(キューを大きくし、スレッドサイズを増加します)
- 一度に多数のタスクを実行しないよう、スケジュールが設定されたタスクを変更することができます。例えば、すべてのタスクを深夜帯に一度に実行するのではなく、一日を通して、少しずつ実行するとよいでしょう。
- 次にタスクスケジューラーが起動したタイミングで、タスクが完了し、解放されたリソースがあるかもしれないため、再度タスクをキューへ追加する試行が行われます。
タスクスケジューラー制限の更新
タスクスケジューラーのスレッドとキューの制限を変更するには、以下の手順に従います。
- 「Yellowfinインストールディレクトリ/appserver/webapps/ROOT/WEB-INF」ディレクトリにアクセスします。
- 「web.xml」ファイルを開きます。
- タスクスケジューラー項目までスクロールします。ファイルでは、以下のような内容が表示されます。
- こちらの項目から、「init-param」タグをコメントアウトします。
- TaskSchedulerThreadsパラメーターの値を変更することで、一度に実行されるデフォルトのタスク数を、TaskSchedulerMaxThreadQueueパラメーターの値を更新することで、キューに一度に追加することのできるタスク数の最大値を変更することができます。
- ファイルを保存します。キューとスレッドの制限が、それぞれ更新されます。