'Entry point for processing jobs.
Args:
message: The GrrMessage that was delivered from the server.
Raises:
RuntimeError: The client action requested was not found.'

def HandleMessage(self, message):

    self._is_active = True
    try:
        action_cls = actions.ActionPlugin.classes.get(message.name)
        if (action_cls is None):
            raise RuntimeError(('Client    action    %r    not    known' % message.name))
        action = action_cls(grr_worker=self)
        self.nanny_controller.WriteTransactionLog(message)
        action.Progress()
        action.Execute(message)
        self.nanny_controller.CleanTransactionLog()
    finally:
        self._is_active = False
        self._send_stats_on_check = True
