初めに
SitecoreでWebサイトにコンテンツを表示するためには、パブリッシュを実行します。
パブリッシュを実行する際には、下記の「サイトをパブリッシュ」もしくは「アイテムをパブリッシュ」を選択することになります。
パブリッシュを実行すると、アイテムがキューに入れられ、入れられた順番にパブリッシュ処理が実行されます。一度にパブリッシュされるアイテムの数が多い場合は、処理待ちのアイテムがキューに滞留し、他のユーザーのパブリッシュが実行されるまでに多くの時間を要してしまうことがあります。
例えば「サイトをパブリッシュ」を実行をすると、サイトのアイテムの数によっては処理待ちのアイテムがキューに大量に滞留することが考えられます。ここでは、大量のアイテムをパブリッシュしたのが誰なのかを確認するためのログの見方を紹介します。
Sitecoreは 10.1.0を想定しています。
「アイテムをパブリッシュ」を選択した場合
例としてrootアイテム(/sitecore)で「アイテムをパブリッシュ」を選択し、下図のような手段でSmartPublishを実行します。
実行したときのログが下記になります。
(sitecore\admin): Publish, root: {11111111-1111-1111-1111-111111111111}, languages:en, targets:Staging, databases:web, incremental:false, smart:true, republish:false, children:false, related:false
ログには、パブリッシュを実行したユーザー名、rootに選択したアイテムID、選択したパブリッシュ設定が記載されています。
「サブアイテムをパブリッシュ」や「関連アイテムをパブリッシュ」を指定してパブリッシュしたときに、配下にアイテムが多くあったり、参照しているアイテムが多くあると、その分多くのアイテムをパブリッシュすることになります。配下に大量のアイテムをもつアイテムが選択されていて、「children」や「related」の値が"true"のログがあれば、処理待ちのアイテムをキューに滞留させる原因になっている可能性があります。
「サイトをパブリッシュ」を選択した場合
(sitecore\admin): Publish, root: null, languages:en, targets:Staging, databases:web, incremental:false, smart:true, republish:false, children:false, related:false
「サイトをパブリッシュ」を実行した場合は、rootの値がnullになります。
すべてのアイテムをパブリッシュするので、サイトのアイテムが大量にある場合はパブリッシュに多くの時間がかかります。
キューが処理待ち状態になってしまうと、パブリッシュを実行してもキューが溜まっていることが表示されるだけで、パブリッシュの順番がくるまで待たされることになります。
特に、同じシステムで複数人がSitecoreを扱っている場合は、必要なアイテムのみをパブリッシュするように意識しましょう。
以上です。
※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。