We have two azure worker roles - A and B. 

* A is a Quartz scheduler which runs jobs every minute.
* It reads some ids from a 'Redis cache' every minutes and execute jobs for those ids.
* 'A' publish its output to a service bus queue which is
subscribed by Worker role 'B'.
* 'B' worker role reads values from
queue and execute some more operation on them.
* Both worker roles has
to build cache on startup.

Now here are few issues regarding Azure component failure:

* If Redis cache goes down, how can we handle that. We need to stop our execution till the time it is up again and then we need to build our cache again. 'B' worker role should stop pulling message from service bus till the time Redis comes up again.
* How to handle Service bus failure in worker role 'B'?