スケジュールされたサーバー ジョブの優先順位付け方法
ジョブとタスク
Tableau Server では、定期的に実行される抽出更新、サブスクリプション、またはフローをユーザーがスケジュールできます。これらのスケジュールされた項目はタスクと呼ばれます。バックグラウンダー プロセスは、これらのタスクの固有のインスタンスを開始して、スケジュールされた時刻に実行します。結果として開始されたタスクの固有インスタンスは、ジョブと呼ばれます。[今すぐ実行] オプションのクリックによって手動で実行が開始されるジョブも作成されます。
たとえば、毎日午前 9 時に実行される抽出更新タスクを作成するとします。この抽出更新タスクについて、毎日午前 9 時にバックグラウンダーが実行するジョブが作成されます。
優先度番号をタスクとスケジュールに割り当てるには、1 から 100 の値を割り当てることができます。数値が小さく、優先度が高い、1 が最も高い優先順位となり、100 が最低となります。
ジョブの優先度ルール
スケジュールされた抽出更新、サブスクリプションおよびフロー実行を処理する場合、 Tableau Server によってこの順序でバックグラウンド ジョブが優先順位付けされます。
処理中のジョブは、最初に完了されます。
[今すぐ実行] を使用して手動で開始したタスクまたはスケジュールは、次のバックグラウンダー プロセスが利用可能になると開始します。この例外は、フロー タスクとスケジュールです。フローの実行では、割り当てられたタスクの優先度を使用して、実行する順序を決定します。タスクの優先度が割り当てられていない場合、規定は 0 に設定され、これが最も高い優先順位になります。
注: [今すぐ実行] 設定を制限する方法の詳細 - サーバー設定 (全般とカスタマイズ) を参照してください。
キュー内にいた時間の長さに関係なく、優先度が最も高い (数が最も小さい) ジョブが次に開始します。
抽出更新とフローの場合、これがタスクの優先度です。タスクの優先度は、タスクが最初に作成されたときにスケジュールの優先順位から継承されます。タスクの優先度は後で変更できますが、データ ソースをもう一度パブリッシュすると、タスクの優先度は既定値に戻ります。
サブスクリプションの場合、これはスケジュールの優先度です。サブスクリプションのカスタム スケジュールを有効にしている場合、それらのジョブの優先度は 50 に設定されます。
たとえば、優先度が 20 のジョブは、優先度が 50 のジョブよりも先に実行されます (後者の方が待機時間が長い場合を含む)。タスクの優先順位を変更するには、スケジュールの作成または変更を参照してください。
優先度が同じジョブは、キューに追加された順に実行されます。まずキューに最初に追加されたジョブを開始し、次に 2 番目のジョブを開始します。
優先順位が同じ複数のジョブを同時に実行するようスケジュールされている場合、作成順または有効化された順序で開始します。同じ時間にスケジュールされたジョブは、最初に開始されるジョブの最も速いカテゴリーであるタスク タイプによって実行されます。フロー実行、データ駆動アラート、システム ジョブ、サブスクリプション、抽出作成、インクリメンタル抽出、完全抽出の順で実行されます。
リンクされたタスクの一部として実行されるようにスケジュールされているフローは、すべて同じ優先順位に割り当てられ、リンクされたタスクで定義されている順序で実行されます。リンクされたタスクの詳細については、「リンクされたタスクのスケジュール」(新しいウィンドウでリンクが開く)を参照してください。
最終的な優先度を決める方法として、バックグラウンダーは実行時間履歴を使用します。以前の実行速度が速かったジョブは、実行に時間がかかっていたジョブよりも優先されます。
注: 特定のサイトでバックグラウンダーのリソース制限を設定すると、これらのジョブは他の優先度の高いジョブの後にピックアップされるため、キューが追加されることになります。詳細については、「Tableau Server Backgrounde のリソース制限」を参照してください。
ジョブの実行時には、次の制限も影響します。
同時ジョブの数は、Tableau Server に設定したバックグラウンダー プロセスの数に制限されます。
同じ抽出またはデータ ソースに対する別の更新を同時に実行することはできません。
並列に実行するよう設定されたスケジュールと関連付けられたジョブは、1 度に 1 つのみ実行します。