如何指定服务器选项?
How do I specify server options?
我正在尝试 运行 Python 中的 gRPC 服务器。我找到了这样的方法:
import grpc
from concurrent import futures
server = grpc.server(futures.ThreadPoolExecutor(max_workers=100))
... # add my grpc servicer to server
server.add_insecure_port('[::]:50051')
server.start()
我需要向服务器添加一些选项,如 max_send_message_length
、max_receive_message_length
等。grpc.server(...)
中有一个 options
参数,但我不能弄清楚如何使用它。
server = grpc.server(futures.ThreadPoolExecutor(max_workers=100), options=[???])
options – An optional list of key-value pairs (channel args in gRPC runtime) to configure the channel.
如何创建这些选项?它们是字符串对吗?
不过,我是 Python 和 gRPC 的新手。
您可以在这个 github 问题中找到示例:https://github.com/grpc/grpc/issues/11299
对于 30mb 的最大消息长度,使用:
options = [('grpc.max_message_length', 30 * 1024 * 1024)]
如果您想将邮件大小从默认的 4MB 扩大到 30MB。
请参考这个
options = [('grpc. max_receive_message_length', 30 * 1024 * 1024)]
选项应该是 Tuple[str, Any]
.
的列表
下面我添加了一个更完整的服务器示例。虽然问题主要是关于要传递的 gRPC 选项的结构(之前已经回答过),但答案链接到客户端实现的示例(因此通道调用可能有点混乱)。
import grpc
from concurrent import futures
...
MAX_MESSAGE_LENGTH = 1024 * 1024 * 32
...
_server = grpc.server(
futures.ThreadPoolExecutor(max_workers=4),
options=[("grpc.max_receive_message_length", MAX_MESSAGE_LENGTH)],
)
... # add services to server
_server.add_insecure_port("[::]:50051")
_server.start()
客户端 在创建频道时设置选项(grpc.insecure_channel
,grpc.secure_channel
)。
服务器端 在创建服务器时设置选项 (grpc.server
)。
我正在尝试 运行 Python 中的 gRPC 服务器。我找到了这样的方法:
import grpc
from concurrent import futures
server = grpc.server(futures.ThreadPoolExecutor(max_workers=100))
... # add my grpc servicer to server
server.add_insecure_port('[::]:50051')
server.start()
我需要向服务器添加一些选项,如 max_send_message_length
、max_receive_message_length
等。grpc.server(...)
中有一个 options
参数,但我不能弄清楚如何使用它。
server = grpc.server(futures.ThreadPoolExecutor(max_workers=100), options=[???])
options – An optional list of key-value pairs (channel args in gRPC runtime) to configure the channel.
如何创建这些选项?它们是字符串对吗?
不过,我是 Python 和 gRPC 的新手。
您可以在这个 github 问题中找到示例:https://github.com/grpc/grpc/issues/11299
对于 30mb 的最大消息长度,使用:
options = [('grpc.max_message_length', 30 * 1024 * 1024)]
如果您想将邮件大小从默认的 4MB 扩大到 30MB。
请参考这个
options = [('grpc. max_receive_message_length', 30 * 1024 * 1024)]
选项应该是 Tuple[str, Any]
.
下面我添加了一个更完整的服务器示例。虽然问题主要是关于要传递的 gRPC 选项的结构(之前已经回答过),但答案链接到客户端实现的示例(因此通道调用可能有点混乱)。
import grpc
from concurrent import futures
...
MAX_MESSAGE_LENGTH = 1024 * 1024 * 32
...
_server = grpc.server(
futures.ThreadPoolExecutor(max_workers=4),
options=[("grpc.max_receive_message_length", MAX_MESSAGE_LENGTH)],
)
... # add services to server
_server.add_insecure_port("[::]:50051")
_server.start()
客户端 在创建频道时设置选项(grpc.insecure_channel
,grpc.secure_channel
)。
服务器端 在创建服务器时设置选项 (grpc.server
)。