Determines the right data ingester, starts it, and returns it.
(self)
| 412 | return ingester |
| 413 | |
| 414 | def _make_data_ingester(self): |
| 415 | """Determines the right data ingester, starts it, and returns it.""" |
| 416 | flags = self.flags |
| 417 | if flags.grpc_data_provider: |
| 418 | ingester = server_ingester.ExistingServerDataIngester( |
| 419 | flags.grpc_data_provider, |
| 420 | channel_creds_type=flags.grpc_creds_type, |
| 421 | ) |
| 422 | ingester.start() |
| 423 | return ingester |
| 424 | |
| 425 | if flags.load_fast == "true": |
| 426 | try: |
| 427 | return self._start_subprocess_data_ingester() |
| 428 | except server_ingester.NoDataServerError as e: |
| 429 | msg = "Option --load_fast=true not available: %s\n" % e |
| 430 | sys.stderr.write(msg) |
| 431 | sys.exit(1) |
| 432 | except server_ingester.DataServerStartupError as e: |
| 433 | msg = _DATA_SERVER_STARTUP_ERROR_MESSAGE_TEMPLATE % e |
| 434 | sys.stderr.write(msg) |
| 435 | sys.exit(1) |
| 436 | |
| 437 | if flags.load_fast == "auto" and _should_use_data_server(flags): |
| 438 | try: |
| 439 | ingester = self._start_subprocess_data_ingester() |
| 440 | sys.stderr.write(_DATA_SERVER_ADVISORY_MESSAGE) |
| 441 | sys.stderr.flush() |
| 442 | return ingester |
| 443 | except server_ingester.NoDataServerError as e: |
| 444 | logger.info("No data server: %s", e) |
| 445 | except server_ingester.DataServerStartupError as e: |
| 446 | logger.info( |
| 447 | "Data server error: %s; falling back to multiplexer", e |
| 448 | ) |
| 449 | |
| 450 | ingester = local_ingester.LocalDataIngester(flags) |
| 451 | ingester.start() |
| 452 | return ingester |
| 453 | |
| 454 | def _make_data_provider(self): |
| 455 | """Returns `(data_provider, deprecated_multiplexer)`.""" |
no test coverage detected