Note that there are some explanatory texts on larger screens.

plurals
  1. PODetecting crashes of Azure instances
    primarykey
    data
    text
    <p>I want to detect the fact that an instance of my Azure role has crashed. Detection in my case means that another instance of my role is notified about the crash. Please review my idea explained below or propose another solution.</p> <p>The idea I came up with takes advantage of the fact that items in the Azure Queue have limited processing time.</p> <ol> <li>Configure an Azure Queue. All instances of the role listen to this queue.</li> <li>Configure role instances to have internal endpoint</li> <li>When instance A starts it posts a message to the queue. The message contains the id of instance A, the IP of A's internal endpoint, the marker that this message should be forwarded back to A.</li> <li>Most likely the message ends up on another instance B. B will forward the MessageId and PopReceipt to A via internal endpoint. Instance A creates a object of CloudQueueMessage using this ctr <a href="http://msdn.microsoft.com/en-us/library/dn451949.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/dn451949.aspx</a>.</li> <li>Instance A starts updating the visibility timeout of received message infinitely. From Azure Queue point of view this message will be being processed for a very long time. In the first update A removes "forward-this-message" marker.</li> <li>If instance A crashes it stops prolonging the processing. The message will become visible automatically for other instances soon. </li> <li>Instance C picks up the message and learns about crashed A: message contains the ID of instance A and no "forward-this-message" marker.</li> <li>If instance A stops gracefully it marks its queue message as processed.</li> </ol>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload