Skip to content

Commit 2be9f6c

Browse files
test version
1 parent 81784ce commit 2be9f6c

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

archipy/configs/config_template.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ class GrpcConfig(BaseModel):
193193
SERVE_PORT: int = Field(default=8100, description="Port to serve gRPC on")
194194
SERVE_HOST: str = Field(default="[::]", description="Host to serve gRPC on") # IPv6 equivalent of 0.0.0.0
195195
THREAD_WORKER_COUNT: int | None = Field(default=None, description="Number of worker threads")
196+
MAX_CONCURRENT_RPCS: int | None = Field(default=None, description="Maximum number of concurrent requests")
196197
THREAD_PER_CPU_CORE: int = Field(
197198
default=40,
198199
description="Threads per CPU core",

archipy/helpers/utils/app_utils.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from http import HTTPStatus
88
from typing import Any, cast
99

10+
import grpc
1011
from pydantic import ValidationError
1112

1213
from archipy.configs.base_config import BaseConfig
@@ -309,7 +310,12 @@ def create_fastapi_app(
309310
return app
310311

311312
@classmethod
312-
def create_async_grpc_app(cls, config: BaseConfig, interceptors: set[Any]) -> server:
313+
def create_async_grpc_app(
314+
cls,
315+
config: BaseConfig,
316+
interceptors: set[Any],
317+
compression: grpc.Compression | None = None,
318+
) -> server:
313319
"""Create and configure an async gRPC application."""
314320
from archipy.helpers.interceptors.grpc.exception import AsyncGrpcServerExceptionInterceptor
315321

@@ -321,6 +327,9 @@ def create_async_grpc_app(cls, config: BaseConfig, interceptors: set[Any]) -> se
321327
app = server(
322328
futures.ThreadPoolExecutor(max_workers=config.GRPC.THREAD_WORKER_COUNT),
323329
interceptors=async_interceptors,
330+
compression=compression,
331+
options=config.GRPC.SERVER_OPTIONS_CONFIG_LIST,
332+
maximum_concurrent_rpcs=config.GRPC.MAX_CONCURRENT_RPCS,
324333
)
325334

326335
return app

0 commit comments

Comments
 (0)