我需要为每个GRPC请求调用一个芹菜任务,并返回结果.在默认的GRPC实现中,每个请求都在与线程池的单独线程中处理.
在我的情况下,服务器应该以每秒批处理模式处理~400个请求.因此,由于批处理,一个请求可能必须等待1秒才能得到结果,这意味着线程池的大小必须大于400才能避免阻塞.
这可以异步完成吗?非常感谢.
class EventReporting(ss_pb2.BetaEventReportingServicer, ss_pb2.BetaDeviceMgtServicer):
def ReportEvent(self, request, context):
res = tasks.add.delay(1,2)
result = res.get() ->here i have to block
return ss_pb2.GeneralReply(message='Hello, %s!' % result.message)
Run Code Online (Sandbox Code Playgroud)