diff --git a/django_grpc_framework/management/commands/grpcrunserver.py b/django_grpc_framework/management/commands/grpcrunserver.py index cb4e269..9157438 100644 --- a/django_grpc_framework/management/commands/grpcrunserver.py +++ b/django_grpc_framework/management/commands/grpcrunserver.py @@ -28,6 +28,10 @@ def add_arguments(self, parser): '--max-workers', type=int, default=10, dest='max_workers', help='Number of maximum worker threads.' ) + parser.add_argument( + '--maximum-concurrent-rpcs', type=int, default=None, dest='maximum_concurrent_rpcs', + help='Number of maximum concurrent remote procedure calls(RPCs).' + ) parser.add_argument( '--dev', action='store_true', dest='development_mode', help=( @@ -40,6 +44,7 @@ def handle(self, *args, **options): self.address = options['address'] self.development_mode = options['development_mode'] self.max_workers = options['max_workers'] + self.maximum_concurrent_rpcs = options['maximum_concurrent_rpcs'] self.run(**options) def run(self, **options): @@ -59,7 +64,8 @@ def run(self, **options): def _serve(self): server = grpc.server(futures.ThreadPoolExecutor(max_workers=self.max_workers), - interceptors=grpc_settings.SERVER_INTERCEPTORS) + interceptors=grpc_settings.SERVER_INTERCEPTORS, + maximum_concurrent_rpcs=self.maximum_concurrent_rpcs) grpc_settings.ROOT_HANDLERS_HOOK(server) server.add_insecure_port(self.address) server.start()