If runner can't connect to the server it currently just quits with error and what it is trying to do never gets done. Instead it should:
wait a period of time and attempt to reconnect. This might eventually be configurable but to start I can hard code something in there (both period of time and attempts, wouldn't mind reconnect time getting longer the more fails in a row there are)
resend the request it was trying to send when it initially failed.
If runner can't connect to the server it currently just quits with error and what it is trying to do never gets done. Instead it should: