Processing Order in the Framework Event Service
The Framework Event Service processes any queued events in "first in, first out" (FIFO) order.
Because the event service can receive a request to run something while it is executing a prior request, all requests are queued for execution in the order requested. If the new request is only one in the queue and the event service is not busy, the request is executed at the next polling.
When the event queue is empty, and immediately after processing each queued event or event handler, the event service checks the Event Handler State and Event Trigger tables for any items where Retest At time setting has arrived or passed.
The event service then checks the Event Handler State table for any items for which the timeout has expired. This is when the Times Out At time setting has arrived or passed. The event service processes these in order (oldest first), by using the Retest At time or Times Out At time to determine the order.
After this, the event service checks the event queue again for any incoming items.