File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1717import asyncio
1818import os
1919import signal
20+ from collections .abc import Sequence
21+ from typing import Any
2022
2123import grpc
2224from grpc_reflection .v1alpha import reflection
@@ -73,6 +75,7 @@ def serve(
7375 * ,
7476 creds : grpc .ServerCredentials ,
7577 insecure : bool ,
78+ options : Sequence [tuple [str , Any ]] | None = None ,
7679) -> None :
7780 """Start a gRPC server and serve requests asychronously.
7881
@@ -81,6 +84,9 @@ def serve(
8184 address: The address at which to listen for requests.
8285 creds: The credentials used to authenticate requests.
8386 insecure: Serve insecurely, without credentials or encryption.
87+ options: Additional gRPC server options. Eg. set max receive message
88+ size to 5Mb (default is 4Mb):
89+ [("grpc.max_receive_message_length", 1024 * 1024 * 5)]
8490
8591 Raises:
8692 ValueError if creds is None and insecure is False.
@@ -91,7 +97,7 @@ def serve(
9197 # Define the loop before the server so everything uses the same loop.
9298 loop = asyncio .get_event_loop ()
9399
94- server = grpc .aio .server ()
100+ server = grpc .aio .server (options = options )
95101
96102 loop .add_signal_handler (
97103 signal .SIGTERM ,
You can’t perform that action at this time.
0 commit comments