def run_worker(self, queues=None, module=None, exclude_queues=None,
                   max_workers_per_queue=None, store_tracebacks=None):
        """
        Main worker entry point method.

        The arguments are explained in the module-level run_worker() method's
        click options.
        """

        try:
            module_names = module or ''
            for module_name in module_names.split(','):
                module_name = module_name.strip()
                if module_name:
                    importlib.import_module(module_name)
                    self.log.debug('imported module', module_name=module_name)

            worker = Worker(self,
                            queues.split(',') if queues else None,
                            exclude_queues.split(',') if exclude_queues else None,
                            max_workers_per_queue=max_workers_per_queue,
                            store_tracebacks=store_tracebacks)
            worker.run()
        except Exception:
            self.log.exception('Unhandled exception')
            raise