def process(self, liveaction):

        if liveaction.status == action_constants.LIVEACTION_STATUS_CANCELED:
            LOG.info('%s is not executing %s (id=%s) with "%s" status.',
                     self.__class__.__name__, type(liveaction), liveaction.id, liveaction.status)
            if not liveaction.result:
                updated_liveaction = action_utils.update_liveaction_status(
                    status=liveaction.status,
                    result={'message': 'Action execution canceled by user.'},
                    liveaction_id=liveaction.id)
                executions.update_execution(updated_liveaction)
            return

        if liveaction.status not in [action_constants.LIVEACTION_STATUS_SCHEDULED,
                                     action_constants.LIVEACTION_STATUS_CANCELING]:
            LOG.info('%s is not dispatching %s (id=%s) with "%s" status.',
                     self.__class__.__name__, type(liveaction), liveaction.id, liveaction.status)
            return

        try:
            liveaction_db = action_utils.get_liveaction_by_id(liveaction.id)
        except StackStormDBObjectNotFoundError:
            LOG.exception('Failed to find liveaction %s in the database.', liveaction.id)
            raise

        return (self._run_action(liveaction_db)
                if liveaction.status == action_constants.LIVEACTION_STATUS_SCHEDULED
                else self._cancel_action(liveaction_db))
Query by mbid.
dataset/ETHPy150Open StackStorm/st2/st2actions/st2actions/worker.py/ActionExecutionDispatcher.process--crossover with--dataset/ETHPy150Open YetAnotherNerd/whatlastgenre/wlg/dataprovider.py/MusicBrainz.query_by_mbid