(address)
| 670 | |
| 671 | |
| 672 | async def serve(address): |
| 673 | server = grpc.aio.server( |
| 674 | migration_thread_pool=futures.ThreadPoolExecutor(max_workers=MAX_WORKERS), |
| 675 | options=[ |
| 676 | ('grpc.max_message_length', 50 * 1024 * 1024), |
| 677 | ('grpc.max_send_message_length', 50 * 1024 * 1024), |
| 678 | ('grpc.max_receive_message_length', 50 * 1024 * 1024), |
| 679 | ], |
| 680 | |
| 681 | interceptors=get_auth_interceptors(aio=True), |
| 682 | ) |
| 683 | backend_pb2_grpc.add_BackendServicer_to_server(BackendServicer(), server) |
| 684 | server.add_insecure_port(address) |
| 685 | |
| 686 | loop = asyncio.get_event_loop() |
| 687 | for sig in (signal.SIGINT, signal.SIGTERM): |
| 688 | loop.add_signal_handler(sig, lambda: asyncio.ensure_future(server.stop(5))) |
| 689 | |
| 690 | await server.start() |
| 691 | print(f"[Rank 0] gRPC server listening on {address}", file=sys.stderr) |
| 692 | await server.wait_for_termination() |
| 693 | |
| 694 | |
| 695 | if __name__ == "__main__": |
no test coverage detected