def __init__(self, name, params):
        assert isinstance(name, basestring)
        assert isinstance(params, dict)
        self.name = name
        self.params = dict(self.params_default, **params)
        self.stopping = False

        # Set Action properly to have all
        # required default parameters
        if self.params['Action']:
            action_default = {
                'Command' : None,
                'Module'  : None,
                'Timeout' : 60,
            }
            self.params['Action'] = dict(action_default, **params['Action'])

        # create the instances of the Queue and force flag
        self.queue = multiprocessing.Queue()
        self.forced = False

        # Set those variables or they will be
        # references, shared between plugins
        self.result = []
        self.forced_result = None
        self.next_run = False

        # Validate configuration
        self.validate()

        # Schedule first plugin run
        if self.params['Interval']:
            self.schedule_run()
Plugin constructor
dataset/ETHPy150Open gooddata/smoker/smoker/server/plugins/__init__.py/Plugin.__init__