We are using a pair of Service Broker Initiator-Target queues to break a transaction and to distribute messages so a second system. All is well under normal circumstances, the Initiator receives a message and passes it on to the Target which then calls a SP with an embeded SQLCLR which then publishes the message to the final system via a REST API call.
The REST API is hosted by IIS, and every now and then IIS refreshes the Application Pool. If there is a period of low message activity then this is managed by the Target queue however if there is a period of high activity the Target queue receives a series of 500 responses from IIS and disables the queue marking the IIS endpoint as poisoned.
Poisoned queues are a very useful and we would prefer not to override this SB setting, how else then can we manage this occasional IIS 'downtime' which can last two or three minutes?
Thanks