'Update the state of this job with the state from a client job.
Updates the state of the server side of a job with the final state
of a client job that was run. Updates the non-client-specific state,
pulls in some specific bits from the client-specific state, and then
discards the rest. Removes the state file afterwards
:param state_file A path to the state file from the client.'

def postprocess_client_state(self, state_path):

    try:
        self._state.read_from_file(state_path)
        os.remove(state_path)
    except OSError as e:
        if (e.errno != errno.ENOENT):
            raise
        else:
            logging.debug('Client    state    file    %s    not    found', state_path)
    if self._state.has('client', 'sysinfo'):
        self.sysinfo.deserialize(self._state.get('client', 'sysinfo'))
    self._state.discard_namespace('client')
