def run_job(self, name):
        schedule = self.opts['schedule']
        if 'schedule' in self.opts['pillar']:
            schedule.update(self.opts['pillar']['schedule'])
        data = schedule[name]

        if 'function' in data:
            func = data['function']
        elif 'func' in data:
            func = data['func']
        elif 'fun' in data:
            func = data['fun']
        else:
            func = None
        if func not in self.functions:
            log.info(
                'Invalid function: {0} in scheduled job {1}.'.format(
                    func, name
                )
            )

        if 'name' not in data:
            data['name'] = name
        log.info(
            'Running Job: {0}.'.format(name)
        )

        multiprocessing_enabled = self.opts.get('multiprocessing', True)
        if multiprocessing_enabled:
            thread_cls = SignalHandlingMultiprocessingProcess
        else:
            thread_cls = threading.Thread

        proc = thread_cls(target=self.handle_func, args=(multiprocessing_enabled, func, data))
        if multiprocessing_enabled:
            with default_signals(signal.SIGINT, signal.SIGTERM):
                # Reset current signals before starting the process in
                # order not to inherit the current signal handlers
                proc.start()
        else:
            proc.start()
        if multiprocessing_enabled:
            proc.join()
Run a schedule job now
dataset/ETHPy150Open saltstack/salt/salt/utils/schedule.py/Schedule.run_job