(address)
| 114 | |
| 115 | |
| 116 | async def serve(address): |
| 117 | server = grpc.aio.server( |
| 118 | migration_thread_pool=futures.ThreadPoolExecutor(max_workers=MAX_WORKERS), |
| 119 | options=[ |
| 120 | ('grpc.max_message_length', 50 * 1024 * 1024), |
| 121 | ('grpc.max_send_message_length', 50 * 1024 * 1024), |
| 122 | ('grpc.max_receive_message_length', 50 * 1024 * 1024), |
| 123 | ], |
| 124 | interceptors=get_auth_interceptors(aio=True), |
| 125 | ) |
| 126 | backend_pb2_grpc.add_BackendServicer_to_server(BackendServicer(), server) |
| 127 | server.add_insecure_port(address) |
| 128 | |
| 129 | loop = asyncio.get_event_loop() |
| 130 | for sig in (signal.SIGINT, signal.SIGTERM): |
| 131 | loop.add_signal_handler( |
| 132 | sig, lambda: asyncio.ensure_future(server.stop(5)) |
| 133 | ) |
| 134 | |
| 135 | await server.start() |
| 136 | print("Server started. Listening on: " + address, file=sys.stderr) |
| 137 | await server.wait_for_termination() |
| 138 | |
| 139 | |
| 140 | if __name__ == "__main__": |
no test coverage detected