Im creating a worker role that i would like to know, within my SQL data layer, if its running.

I register the role when `onStart` is called and I am considering to unregister it in the `onStop` method. Can i count on `onStop` is being called? or should i make it report its alive every 10min and have another application check that its live and if not, set the unit as offline? 

How would people get around this problem about distributed programs?

Is it possible to get a Unique Guid for a specific instance of a worker/web role.