def run(self):
        if self.current_run:  # already running
            if self.current_run.is_alive():
                return
            self.current_run.join()

        # Plugin run when forced
        if self.forced:
            self.current_run = PluginWorker(self.name, self.queue, self.params,
                                            self.forced)
            self.current_run.start()
        elif self.params['Interval']:
            if datetime.datetime.now() >= self.next_run:
                self.current_run = PluginWorker(self.name, self.queue,
                                                self.params)
                self.current_run.start()
                self.schedule_run()
Handles a request to revert changes.
dataset/ETHPy150Open gooddata/smoker/smoker/server/plugins/__init__.py/Plugin.run--crossover with--dataset/ETHPy150Open enthought/traitsui/traitsui/qt4/ui_modal.py/_ModalDialog._on_revert