優先順位付け
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Content Hub では、処理ジョブにより、レンディションの生成、ダウンロード指示の作成、アップロード後のレンディションの処理など、多くのタスクを実行します。
優先順位付けは、ジョブが処理される順序を定義します。 一連のジョブを作成すると、それらはキューに入れられます。 理論的には、Job One が最初で、次に Job Two が処理され、同様にしてキュー内の最後のジョブまで処理が続きます。
以下の図では、次のように処理されます:
- Job Five はダウンロード指示です。
- Job Four は通常のファイル アップロードです。
- Job One、Job Two、および Job Three。
この方法でジョブを並べると、問題が生じる場合があります。 たとえば、完了までに長い時間がかかるダウンロード指示をリクエストしたとします。 この遅延は、Excel スプレッドシート内の大きな Excel インポート データがすでに実行されており、ダウンロード指示がキューの先頭になるまでキューで待機するために発生します。 両方のジョブは処理ジョブであり、これらのジョブは「順次」(先入れ先出し) で処理されます。
実際には、順次ジョブ キューによってボトルネックが発生する可能性があります。 このようなボトルネックを回避するために、Sitecore Content Hub は各処理ジョブに優先度を割り当てます。
優先キュー
優先キュー
Sitecore Content Hub はProcessingMessageWorker を使用して処理ジョブの優先キューを作成します。 処理ジョブの使用方法によって優先度が決まり、各ジョブにはその使用方法に対応する優先度プロパティがあります。 ジョブを作成すると、その優先度プロパティはキュー内の優先度番号を取得します。 次に、各ジョブはその優先度番号に基づいて処理されます。
小さな処理ジョブ (ダウンロード指示など) は優先度が高く、最初に処理されます。 リソースを消費する処理ジョブ (大きな Excel インポート ファイルのアップロードなど) の優先度は最も低くなります。 優先度の低いジョブが既に処理を開始している場合は、一時停止して、新しく入ってきた優先度の高いジョブを最初に処理できるようにします。
[!警告] 優先度プロパティはシステム所有です。変更することはできません。優先度を変更する場合は、Sitecore Content Hub アカウント マネージャーに連絡してください。
ジョブの使用方法に基づいて定義された優先度は次のとおりです。
| 優先度 | ジョブの使用方法 |
|---|---|
| 10 (最高) | ダウンロード指示に対して作成された処理ジョブ。 |
| 8 | ユーザー レンディションを生成するために作成された処理ジョブ。 |
| 5 | UI を使用してアップロードから作成された処理ジョブ。 |
| 1 (最低) | Excel シートのインポートを使用してアップロードから、およびレンディションの更新から作成された処理ジョブ。 |
[!注] 優先度プロパティがヌルに設定されている処理ジョブが、既定で最低の優先度 (1) を取得します。
例
例
次の例では、キューに 3 つのジョブがあります。
- Job Five はダウンロード指示であるため、優先度は 10 と高くなります。
- Job Four は通常のファイル アップロードであるため、優先度は 5 です。
- Job One、Job Two、および Job Three は処理が重いジョブなので、優先度は 1 と低くなります。
この優先順位付けシステムによると、処理順は次のようになります。
- Job Five が最初に処理されます。
- Job Four が 2 番目に処理されます。
- Job Five と Job Four が完了すると、Job One、Job Two、Job Three の処理が始まります。
ジョブは、「priority」プロパティの値に従って処理されます。 優先度の高い処理ジョブは、優先度の低いジョブよりも先に処理されます。 Job Five が最初に実行され、次に Job Four が実行されます。 これら 2 つのジョブが完了すると、優先度の低いジョブが実行されます。
優先度の低いジョブが既に開始されている場合は、それらを一時停止して、優先度の高いジョブを実行できるようにします。