Skip to content

Commit 83bb0d1

Browse files
committed
Pass kwargs to grpc server/client for customization
1 parent cafc31f commit 83bb0d1

2 files changed

Lines changed: 18 additions & 6 deletions

File tree

koapy/backend/kiwoom_open_api_plus/grpc/KiwoomOpenApiPlusServiceClient.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,15 @@ def __init__(self, host=None, port=None, credentials=None, **kwargs):
2525
self._host = host
2626
self._port = port
2727
self._credentials = credentials
28+
self._kwargs = kwargs
2829

2930
self._target = self._host + ":" + str(self._port)
3031

3132
if self._credentials is None:
32-
self._channel = grpc.insecure_channel(self._target, **kwargs)
33+
self._channel = grpc.insecure_channel(self._target, **self._kwargs)
3334
else:
3435
self._channel = grpc.secure_channel(
35-
self._target, self._credentials, **kwargs
36+
self._target, self._credentials, **self._kwargs
3637
)
3738

3839
self._stub = KiwoomOpenApiPlusService_pb2_grpc.KiwoomOpenApiPlusServiceStub(

koapy/backend/kiwoom_open_api_plus/grpc/KiwoomOpenApiPlusServiceServer.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@
1515

1616
class KiwoomOpenApiPlusServiceServer(Logging):
1717
def __init__(
18-
self, control, host=None, port=None, max_workers=None, credentials=None
18+
self,
19+
control,
20+
host=None,
21+
port=None,
22+
max_workers=None,
23+
credentials=None,
24+
**kwargs,
1925
):
2026
if host is None:
2127
host = config.get_string(
@@ -46,10 +52,15 @@ def __init__(
4652
self._port = port
4753
self._max_workers = max_workers
4854
self._credentials = credentials
55+
self._kwargs = kwargs
4956

50-
self._address = self._host + ":" + str(self._port)
5157
self._servicer = KiwoomOpenApiPlusServiceServicer(self._control)
52-
self._executor = futures.ThreadPoolExecutor(max_workers=self._max_workers)
58+
self._address = self._host + ":" + str(self._port)
59+
60+
if "thread_pool" in self._kwargs:
61+
self._executor = self._kwargs.pop("thread_pool")
62+
else:
63+
self._executor = futures.ThreadPoolExecutor(max_workers=self._max_workers)
5364

5465
self._server = None
5566
self._server_started = False
@@ -67,7 +78,7 @@ def reinitialize_server(self):
6778
self.stop()
6879
self.wait_for_termination()
6980

70-
self._server = grpc.server(self._executor)
81+
self._server = grpc.server(self._executor, **self._kwargs)
7182
self._server_started = False
7283
self._server_stopped = False
7384

0 commit comments

Comments
 (0)