def start(self):
if self.huey.immediate:<EOL><INDENT>raise ConfigurationError(<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT>self._logger.info('<STR_LIT>',<EOL>self.workers, self.worker_type, os.getpid(),<EOL>self.huey._get_timestamp())<EOL>self._logger.info('<STR_LIT>',<EOL>self.scheduler_interval)<EOL>self._logger.info('<STR_LIT>',<EOL>'<STR_LIT>' if self.periodic else '<STR_LIT>')<EOL>self._set_signal_handlers()<EOL>msg = ['<STR_LIT>']<EOL>for command in self.huey._registry._registry:<EOL><INDENT>msg.append('<STR_LIT>' % command)<EOL><DEDENT>self._logger.info('<STR_LIT:\n>'.join(msg))<EOL>original_sigint_handler = signal.signal(signal.SIGINT, signal.SIG_IGN)<EOL>if hasattr(signal, '<STR_LIT>'):<EOL><INDENT>original_sighup_handler = signal.signal(signal.SIGHUP, signal.SIG_IGN)<EOL><DEDENT>self.scheduler.start()<EOL>for _, worker_process in self.worker_threads:<EOL><INDENT>worker_process.start()<EOL><DEDENT>signal.signal(signal.SIGINT, original_sigint_handler)<EOL>if hasattr(signal, '<STR_LIT>'):<EOL><INDENT>signal.signal(signal.SIGHUP, original_sighup_handler)<EOL><DEDENT>
Start all consumer processes and register signal handlers.