Sitecore Event Queues are very important when you have many Content Management (CM) and Content Delivery (CD) servers.
The use of Event Queue is to synchronize the different servers when a change has occurred in the Sitecore Back Office.
How Event Queues work for CM?
- Suppose an item is created on CM1. This will generate an event.
- The event generated in 1 is inserted into the Event Queue table of the Master database.
- In order for the other CM nodes to obtain the changes, the nodes needs to ping the event queue to know if there is a change.
From the web.config, you can specify the interval for checking the queue for newly queued events.
<eventQueue> <!-- Time between checking the queue for newly queued events. If new events are found they will be raised. --> <processingInterval>00:00:02</processingInterval> </eventQueue>
Known Issue due to event queues:
Newly created content is appearing on one node but not on the others. Below are some possible solutions
- Check the scalability settings to see if the Instance Name is correct
- Temporary fix: Clearing Sitecore cache will fix the issue.
- Check the EventQueue table to see if the record is present.
How Event Queues work between CM and CD?
When an item is modified on the CM, the event queue of the CM is populated with the event. Once publish is done, the event queue of the CD get populated with the different events. For example, see the scenario below:
- Modified an item on CM.
- Event queue of CM is populated with the event.
- Make a publish.
- Event queue of CD is populated with the event of CM
- Based on the event queue processing interval, the CD nodes will update their cache key with the updated values base on the events.