---
title: "EventQueueとPublishQueueテーブルのクリーンアップ"
slug: "clean-up-the-eventqueue-and-publishqueue-tables"
abstract: "SitecoreのイベントキューとSitecoreの公開キューが大きくなりすぎてパフォーマンスに問題が生じるのを防ぐ方法。"
---
# EventQueueとPublishQueueテーブルのクリーンアップ

適用対象

Content Management、EXM Dispatch、Content Delivery、xDB Processing。

イベントキューは、Content ManagementインスタンスのMasterデータベース内のEventQueueという名前のテーブルです。これは主にインデックス更新やキャッシュクリア時にインスタンス間のイベント共有に使用されます。

パブリッシングキューは、Content Managementインスタンスのマスターデータベースにある「 PublishQueue 」というテーブルです。 [これはウェブサイトのインクリメンタル公開](https://doc.sitecore.com/xp/en/users/101/sitecore-experience-platform/publish-a-website.html)に使用されます。

**出版キューの理解**

Sitecoreは、インスタンス間の公開操作を調整し、アイテムが正しい順序で公開されることを保証するために公開キューを使用しています。公開アクションはデータベーステーブル内に内部保存され、プラットフォームによって自動的に処理されます。

パブリッシングキューは内部機構であり、ユーザーが見えるキューやダッシュボードとして公開されることはありません。Sitecoreは、個々のパブリッシュアクションを一覧表示したり、キューに入ったパブリッシングジョブのステータスを表示したりするための組み込みインターフェースやAPIを提供していません。

**視認性と制限**

公開キューは直接見えないため、管理者は保留中または完了した公開アクションのリストを見ることはできません。代わりに公開活動は、公開ログや公開関連データベーステーブルの挙動やサイズの観察を通じて間接的に監視できます。

増え続ける公開キューは、通常、レビュー待ちのジョブリストではなく、ブロックされたり遅い公開を示したりします。

**出版キューの管理**

公開キューが無期限に増加し続けるのを防ぐために、Sitecoreは公開キューテーブルの自動クリーンアップの設定を推奨しています。詳細は [「Clean up the publishing queue auto(自動で公開キューをクリーンアップ)](https://doc.sitecore.com/xp/ja/developers/103/platform-administration-and-architecture/clean-up-the-eventqueue-and-publishqueue-tables.html#UUID-2afd7786-7364-cdcf-c234-fe76d0c41fab_section-idm1763544919754326 "Clean up the publishing queue automatically")」をご覧ください。

キューが大きくなりすぎるとパフォーマンスに問題が生じることがあります。パフォーマンスを向上させるには、オンデマンドでキューをクリーンアップするか、Sitecoreが自動的にクリーンアップします。

> !重要複数のContent Managementインスタンスがある場合は、各インスタンスのキューを個別にクリーンアップする必要があります。

## イベントキューをオンデマンドで整理する

イベントキューをオンデマンドで整理するには:

1.  Sitecore Launchpadで、 **コントロールパネル**、 **管理ツール**、 **イベントキュー統計**をクリックしてください。
2.  **Cleanup EventQueue**ペインでマスターデータベースを選択します。
3.  **クリーンアップ**後の欄を編集し、新しいエントリーが処理されるまでに何時間かに設定してください。通常は4時間で十分です。
4.  「 **クリーンアップ**」をクリックします。

## イベントキューを自動的にクリーンアップします

Content Delivery、ディスパッチ、xDB処理インスタンスのイベントキューをクリーンアップする必要はないためEXM、これらのインスタンスからSitecore.Tasks.CleanupEventQueue構成を削除したり、無効化したりすればintervalプロパティを0に設定して安全に無効化できます。

EventQueueテーブルの自動クリーンアップを設定するには:

1.  <wwwroot>\\App\_Config\\Sitecore.configファイルのSitecore.Tasks.CleanupEventQueue agent設定で、intervalプロパティを編集して、クリーンアップタスクを実行する頻度を指定します。通常、新しいエントリを処理するのに4時間で十分です:
    
    <agent
     type="Sitecore.Tasks.CleanupEventQueue, Sitecore.Kernel"
     method="Run"
     interval="\`04:00\`:00">
     <DaysToKeep18791275782<11879127578/DaysToKeep>
     <IntervalToKeep>hh:mm:ss</IntervalToKeep>
    </agent>
    
2.  DaysToKeepプロパティを編集して、イベントキューにエントリを保持したい日数を指定します:
    
    <agent
     type="Sitecore.Tasks.CleanupEventQueue, Sitecore.Kernel"
     method="Run"
     interval="\`04:00\`:00">
     <DaysToKeep18791275782<11879127578/DaysToKeep>
     <IntervalToKeep>hh:mm:ss</IntervalToKeep>
    </agent>
    
3.  より細かくしたい場合は、IntervalToKeepプロパティを編集して、イベントキューに保持したい時間、分、秒数を指定します。 IntervalToKeepプロパティはDaysToKeepプロパティを上書きします:
    
    <agent
     type="Sitecore.Tasks.CleanupEventQueue, Sitecore.Kernel"
     method="Run"
     interval="\`04:00\`:00">
     <DaysToKeep18791275782<11879127578/DaysToKeep>
     <IntervalToKeep>hh:mm:ss</IntervalToKeep>
    </agent>
    
4.  Sitecore.configファイルを保存してください。
    

## オンデマンドで出版キューを整理する

オンデマンドで出版キューを整理するために:

1.  Sitecore Launchpadで、 **コントロールパネル**、 **管理ツール**、そして **キュー統計の公開**をクリックしてください。
2.  クリーン **アップ・パブリッシュ** キューのペインでマスターデータベースを選択します。
3.  **クリーンアップ**後の欄を編集し、新しいエントリーが処理されるまでに何時間かに設定してください。通常は4時間で十分です。
4.  「 **クリーンアップ**」をクリックします。

## 公開キューを自動的に整理します

Content Delivery、Dispatch EXM、xDB Processingインスタンスの公開キューをクリーンアップする必要はないので、これらのインスタンスからSitecore.Tasks.CleanupPublishQueue構成を削除したり、intervalプロパティを0に設定して無効化したりできます。

PublishQueueテーブルの自動クリーンアップを設定するには:

1.  <wwwroot>\\App\_Config\\Sitecore.configファイルのSitecore.Tasks.CleanupPublishQueueエージェント設定で、intervalプロパティを編集してクリーンアップタスクを実行する頻度を指定します。通常、新しいエントリを処理するのに4時間で十分ですが、インクリメンタルパブリッシングを使わない場合は、より頻繁に実行するように設定できます:
    
    <agent
     type="Sitecore.Tasks.CleanupPublishQueue, Sitecore.Kernel"
     method="Run"
     interval="\`04:00\`:00">
     <DaysToKeep>30</DaysToKeep>
    </agent>
    
2.  DaysToKeepプロパティを編集して、公開キューにエントリを保持したい日数を指定します:
    
    <agent
     type="Sitecore.Tasks.CleanupPublishQueue, Sitecore.Kernel"
     method="Run"
     interval="\`04:00\`:00">
     <DaysToKeep>30</DaysToKeep>
    </agent>
    
3.  Sitecore.configファイルを保存してください。