| 523 | ) |
| 524 | |
| 525 | def get_loop_factory(self) -> Callable[[], asyncio.AbstractEventLoop] | None: |
| 526 | if self.loop in LOOP_FACTORIES: |
| 527 | loop_factory: Callable[..., Any] | None = import_from_string(LOOP_FACTORIES[self.loop]) |
| 528 | else: |
| 529 | try: |
| 530 | return import_from_string(self.loop) |
| 531 | except ImportFromStringError as exc: |
| 532 | logger.error("Error loading custom loop setup function. %s" % exc) |
| 533 | sys.exit(1) |
| 534 | if loop_factory is None: |
| 535 | return None |
| 536 | return loop_factory(use_subprocess=self.use_subprocess) |
| 537 | |
| 538 | def bind_socket(self) -> socket.socket: |
| 539 | logger_args: list[str | int] |