def execute_action(self, action, priority):
        if self.handler.is_waiting():
            raise TaskWait
        elif self.handler.is_scheduled():
            return
        else:
            handler = InputHandler(self.handler.protocol)
            action_name = self.handler.get_next_activity_name()
            ActivityTask.schedule(
                self.decisions,
                name=action_name,
                input_data={
                    'protocol': self.handler.protocol,
                    'body': handler.save(
                        data=action,
                        genealogy=self.handler.tag_list + ['Action%s' % action_name])
                },
                task_list=action['Action'].get('_role', config.ACTIVITY_TASK_LIST),
                priority=priority
            )
Schedule action to SWF as activity task and wait. If action is not
dataset/ETHPy150Open KKBOX/mass/mass/scheduler/swf/__init__.py/SWFDecider.execute_action