TODO: this can hang for quite some time if the client
is currently in the middle of a call to a downed JN.
We should instead do this asynchronously, and just stop
making any more calls after this point (eg clear the queue)