How does Sitecore know an event in the event queue table has been processed?Effective way to resolve the EventQueue, CPU and memory load related issueWhy is event data stored in every Sitecore database?Does Sitecore have a message queue?Excessive updates of the EventQueue tableEffective way to resolve the EventQueue, CPU and memory load related issueHow to know if Remote Events has been executed on remote environments?
I am often given, occasionally stolen, rarely sold, and never borrowed
Does obfuscation give any measurable security benefit?
Does cover affect melee attacks?
Car as a good investment
How can I communicate feelings to players without impacting their agency?
Proving the order of quaternion group is 8
If I did not sign promotion bonus document, my career would be over. Is this duress?
What would be the effect of a giant magical fireball burning in the ocean?
Axiom of choice and cartesian product
How are Aircraft Noses Designed?
How will the crew exit Starship when it lands on Mars?
Why do military jets sometimes have elevators in a depressed position when parked?
In the twin paradox does the returning twin also come back permanently length contracted flatter than the twin on earth?
How to prove that invoices are really unpaid?
Why are second inversion triads considered less consonant than first inversion triads?
Why is technology bad for children?
Is the tap water in France safe to drink?
Where does the upgrade to macOS Catalina move root "/" directory files?
Interaction between casting spells and the Attack action
Does any politician honestly want a No Deal Brexit?
Is it safe to pay bills over satellite internet?
How does Data know about his off switch?
Converting list into Integer
How to figure out key from key signature?
How does Sitecore know an event in the event queue table has been processed?
Effective way to resolve the EventQueue, CPU and memory load related issueWhy is event data stored in every Sitecore database?Does Sitecore have a message queue?Excessive updates of the EventQueue tableEffective way to resolve the EventQueue, CPU and memory load related issueHow to know if Remote Events has been executed on remote environments?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;
We are currently looking to optimize how often the event queue table is cleaned up and there are some really good post on this such as this and this.
However have have some concerns about cleaning up the event queue table too often and not allowing time for all the events to be processed. When we do large publishing or indexing jobs they can take 12+ hours to complete.
As I understand it when Sitecore processes the events it does not remove them from the table (hence the need for the event queue cleanup task).
However what I can't see in the table is a status column of any kind. I can see status property on the json for some events (in the instance data column) but not all of them. So how does Sitecore know if an event have been processed?
Ideally we would only cleanup events that have been processed and leave the other events that have yet to be processed in the table.
event-queue
add a comment
|
We are currently looking to optimize how often the event queue table is cleaned up and there are some really good post on this such as this and this.
However have have some concerns about cleaning up the event queue table too often and not allowing time for all the events to be processed. When we do large publishing or indexing jobs they can take 12+ hours to complete.
As I understand it when Sitecore processes the events it does not remove them from the table (hence the need for the event queue cleanup task).
However what I can't see in the table is a status column of any kind. I can see status property on the json for some events (in the instance data column) but not all of them. So how does Sitecore know if an event have been processed?
Ideally we would only cleanup events that have been processed and leave the other events that have yet to be processed in the table.
event-queue
add a comment
|
We are currently looking to optimize how often the event queue table is cleaned up and there are some really good post on this such as this and this.
However have have some concerns about cleaning up the event queue table too often and not allowing time for all the events to be processed. When we do large publishing or indexing jobs they can take 12+ hours to complete.
As I understand it when Sitecore processes the events it does not remove them from the table (hence the need for the event queue cleanup task).
However what I can't see in the table is a status column of any kind. I can see status property on the json for some events (in the instance data column) but not all of them. So how does Sitecore know if an event have been processed?
Ideally we would only cleanup events that have been processed and leave the other events that have yet to be processed in the table.
event-queue
We are currently looking to optimize how often the event queue table is cleaned up and there are some really good post on this such as this and this.
However have have some concerns about cleaning up the event queue table too often and not allowing time for all the events to be processed. When we do large publishing or indexing jobs they can take 12+ hours to complete.
As I understand it when Sitecore processes the events it does not remove them from the table (hence the need for the event queue cleanup task).
However what I can't see in the table is a status column of any kind. I can see status property on the json for some events (in the instance data column) but not all of them. So how does Sitecore know if an event have been processed?
Ideally we would only cleanup events that have been processed and leave the other events that have yet to be processed in the table.
event-queue
event-queue
edited 7 hours ago
Hishaam Namooya
7,3621 gold badge10 silver badges28 bronze badges
7,3621 gold badge10 silver badges28 bronze badges
asked 9 hours ago
Adam SeabridgeAdam Seabridge
6,58718 silver badges57 bronze badges
6,58718 silver badges57 bronze badges
add a comment
|
add a comment
|
2 Answers
2
active
oldest
votes
In order to know which if the events have already been processed, you will need to check the Properties table.
Using Sitecore OOTB
You need to see the http://[domain]/sitecore/admin/EventQueueStats.aspx
page. This page allows you to see if there are still events being processed.
If we take the above as an example, it means that all events have been processed because the Records to be processed
is 0. If there was still events to be processed, the value will increase based on the number of remaining events to process.
How Sitecore does this?
Sitecore makes use of the Properties table. After all the events have been processed, Sitecore updates (insert if not exist) an entry in the table.
Sitecore versions up to 8.X, there is an entry which starts with
EQSTAMP_*****
in theKey
column.For Sitecore 9.X, it is
[targetDatabase]_EQSTAMP_*****
.
This is what tells Sitecore if the events have been processed. There is a conversion which is performed for Sitecore to know if the events have been processed.
How it is done
- Copy the value of the
EQSTAMP
. Below is a screenshot of my Properties table on the Web Database. So, in our case, the value will be 66999.
- You need to convert the decimal 66999 to Hex. You can do this via a calculator. On windows, open the calculator and set it to programmer mode. Once done, select the DEC option and paste the value.
As you can see from the calculator screenshot, the value of the HEX is 105B7.
- Execute the query
select top 100 * from [EventQueue] with (nolock) order by [Stamp] desc
on the target database, in our case, web database. The first entry should match the STAMP value of the HEX
If the HEX value matches the STAMP value of the first entry, this means that all the events have been processed.
You can read more on my article Sitecore Server Synchronization
add a comment
|
Expanding from the above answer you can try the below SQL Query to know the Number of Records to be processed from a given time and date:
SELECT COUNT(*)
FROM EventQueue WITH (NOLOCK)
WHERE
(InstanceName <> @p1 AND RaiseGlobally=1 OR InstanceName = @p1 AND RaiseLocally=1)
AND Stamp >= @p2
AND Created >= @p3
where
@p1
= InstanceName similar todatabaseName-sitecoreInstance.local
@p2
= lastProcessedTimestamp@p3
= fromDate
New contributor
add a comment
|
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "664"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsitecore.stackexchange.com%2fquestions%2f22472%2fhow-does-sitecore-know-an-event-in-the-event-queue-table-has-been-processed%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
In order to know which if the events have already been processed, you will need to check the Properties table.
Using Sitecore OOTB
You need to see the http://[domain]/sitecore/admin/EventQueueStats.aspx
page. This page allows you to see if there are still events being processed.
If we take the above as an example, it means that all events have been processed because the Records to be processed
is 0. If there was still events to be processed, the value will increase based on the number of remaining events to process.
How Sitecore does this?
Sitecore makes use of the Properties table. After all the events have been processed, Sitecore updates (insert if not exist) an entry in the table.
Sitecore versions up to 8.X, there is an entry which starts with
EQSTAMP_*****
in theKey
column.For Sitecore 9.X, it is
[targetDatabase]_EQSTAMP_*****
.
This is what tells Sitecore if the events have been processed. There is a conversion which is performed for Sitecore to know if the events have been processed.
How it is done
- Copy the value of the
EQSTAMP
. Below is a screenshot of my Properties table on the Web Database. So, in our case, the value will be 66999.
- You need to convert the decimal 66999 to Hex. You can do this via a calculator. On windows, open the calculator and set it to programmer mode. Once done, select the DEC option and paste the value.
As you can see from the calculator screenshot, the value of the HEX is 105B7.
- Execute the query
select top 100 * from [EventQueue] with (nolock) order by [Stamp] desc
on the target database, in our case, web database. The first entry should match the STAMP value of the HEX
If the HEX value matches the STAMP value of the first entry, this means that all the events have been processed.
You can read more on my article Sitecore Server Synchronization
add a comment
|
In order to know which if the events have already been processed, you will need to check the Properties table.
Using Sitecore OOTB
You need to see the http://[domain]/sitecore/admin/EventQueueStats.aspx
page. This page allows you to see if there are still events being processed.
If we take the above as an example, it means that all events have been processed because the Records to be processed
is 0. If there was still events to be processed, the value will increase based on the number of remaining events to process.
How Sitecore does this?
Sitecore makes use of the Properties table. After all the events have been processed, Sitecore updates (insert if not exist) an entry in the table.
Sitecore versions up to 8.X, there is an entry which starts with
EQSTAMP_*****
in theKey
column.For Sitecore 9.X, it is
[targetDatabase]_EQSTAMP_*****
.
This is what tells Sitecore if the events have been processed. There is a conversion which is performed for Sitecore to know if the events have been processed.
How it is done
- Copy the value of the
EQSTAMP
. Below is a screenshot of my Properties table on the Web Database. So, in our case, the value will be 66999.
- You need to convert the decimal 66999 to Hex. You can do this via a calculator. On windows, open the calculator and set it to programmer mode. Once done, select the DEC option and paste the value.
As you can see from the calculator screenshot, the value of the HEX is 105B7.
- Execute the query
select top 100 * from [EventQueue] with (nolock) order by [Stamp] desc
on the target database, in our case, web database. The first entry should match the STAMP value of the HEX
If the HEX value matches the STAMP value of the first entry, this means that all the events have been processed.
You can read more on my article Sitecore Server Synchronization
add a comment
|
In order to know which if the events have already been processed, you will need to check the Properties table.
Using Sitecore OOTB
You need to see the http://[domain]/sitecore/admin/EventQueueStats.aspx
page. This page allows you to see if there are still events being processed.
If we take the above as an example, it means that all events have been processed because the Records to be processed
is 0. If there was still events to be processed, the value will increase based on the number of remaining events to process.
How Sitecore does this?
Sitecore makes use of the Properties table. After all the events have been processed, Sitecore updates (insert if not exist) an entry in the table.
Sitecore versions up to 8.X, there is an entry which starts with
EQSTAMP_*****
in theKey
column.For Sitecore 9.X, it is
[targetDatabase]_EQSTAMP_*****
.
This is what tells Sitecore if the events have been processed. There is a conversion which is performed for Sitecore to know if the events have been processed.
How it is done
- Copy the value of the
EQSTAMP
. Below is a screenshot of my Properties table on the Web Database. So, in our case, the value will be 66999.
- You need to convert the decimal 66999 to Hex. You can do this via a calculator. On windows, open the calculator and set it to programmer mode. Once done, select the DEC option and paste the value.
As you can see from the calculator screenshot, the value of the HEX is 105B7.
- Execute the query
select top 100 * from [EventQueue] with (nolock) order by [Stamp] desc
on the target database, in our case, web database. The first entry should match the STAMP value of the HEX
If the HEX value matches the STAMP value of the first entry, this means that all the events have been processed.
You can read more on my article Sitecore Server Synchronization
In order to know which if the events have already been processed, you will need to check the Properties table.
Using Sitecore OOTB
You need to see the http://[domain]/sitecore/admin/EventQueueStats.aspx
page. This page allows you to see if there are still events being processed.
If we take the above as an example, it means that all events have been processed because the Records to be processed
is 0. If there was still events to be processed, the value will increase based on the number of remaining events to process.
How Sitecore does this?
Sitecore makes use of the Properties table. After all the events have been processed, Sitecore updates (insert if not exist) an entry in the table.
Sitecore versions up to 8.X, there is an entry which starts with
EQSTAMP_*****
in theKey
column.For Sitecore 9.X, it is
[targetDatabase]_EQSTAMP_*****
.
This is what tells Sitecore if the events have been processed. There is a conversion which is performed for Sitecore to know if the events have been processed.
How it is done
- Copy the value of the
EQSTAMP
. Below is a screenshot of my Properties table on the Web Database. So, in our case, the value will be 66999.
- You need to convert the decimal 66999 to Hex. You can do this via a calculator. On windows, open the calculator and set it to programmer mode. Once done, select the DEC option and paste the value.
As you can see from the calculator screenshot, the value of the HEX is 105B7.
- Execute the query
select top 100 * from [EventQueue] with (nolock) order by [Stamp] desc
on the target database, in our case, web database. The first entry should match the STAMP value of the HEX
If the HEX value matches the STAMP value of the first entry, this means that all the events have been processed.
You can read more on my article Sitecore Server Synchronization
edited 6 hours ago
answered 7 hours ago
Hishaam NamooyaHishaam Namooya
7,3621 gold badge10 silver badges28 bronze badges
7,3621 gold badge10 silver badges28 bronze badges
add a comment
|
add a comment
|
Expanding from the above answer you can try the below SQL Query to know the Number of Records to be processed from a given time and date:
SELECT COUNT(*)
FROM EventQueue WITH (NOLOCK)
WHERE
(InstanceName <> @p1 AND RaiseGlobally=1 OR InstanceName = @p1 AND RaiseLocally=1)
AND Stamp >= @p2
AND Created >= @p3
where
@p1
= InstanceName similar todatabaseName-sitecoreInstance.local
@p2
= lastProcessedTimestamp@p3
= fromDate
New contributor
add a comment
|
Expanding from the above answer you can try the below SQL Query to know the Number of Records to be processed from a given time and date:
SELECT COUNT(*)
FROM EventQueue WITH (NOLOCK)
WHERE
(InstanceName <> @p1 AND RaiseGlobally=1 OR InstanceName = @p1 AND RaiseLocally=1)
AND Stamp >= @p2
AND Created >= @p3
where
@p1
= InstanceName similar todatabaseName-sitecoreInstance.local
@p2
= lastProcessedTimestamp@p3
= fromDate
New contributor
add a comment
|
Expanding from the above answer you can try the below SQL Query to know the Number of Records to be processed from a given time and date:
SELECT COUNT(*)
FROM EventQueue WITH (NOLOCK)
WHERE
(InstanceName <> @p1 AND RaiseGlobally=1 OR InstanceName = @p1 AND RaiseLocally=1)
AND Stamp >= @p2
AND Created >= @p3
where
@p1
= InstanceName similar todatabaseName-sitecoreInstance.local
@p2
= lastProcessedTimestamp@p3
= fromDate
New contributor
Expanding from the above answer you can try the below SQL Query to know the Number of Records to be processed from a given time and date:
SELECT COUNT(*)
FROM EventQueue WITH (NOLOCK)
WHERE
(InstanceName <> @p1 AND RaiseGlobally=1 OR InstanceName = @p1 AND RaiseLocally=1)
AND Stamp >= @p2
AND Created >= @p3
where
@p1
= InstanceName similar todatabaseName-sitecoreInstance.local
@p2
= lastProcessedTimestamp@p3
= fromDate
New contributor
edited 51 mins ago
Dan Sinclair
3,4262 gold badges10 silver badges31 bronze badges
3,4262 gold badges10 silver badges31 bronze badges
New contributor
answered 7 hours ago
Sumit UpadhyaySumit Upadhyay
475 bronze badges
475 bronze badges
New contributor
New contributor
add a comment
|
add a comment
|
Thanks for contributing an answer to Sitecore Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsitecore.stackexchange.com%2fquestions%2f22472%2fhow-does-sitecore-know-an-event-in-the-event-queue-table-has-been-processed%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown