add zmq server restart for workers on uncaught exceptions

it looks like uncaught exceptions will bubble up and kill worker threads without restarting them, this should restart those workers on failure and output the error causing the problem