Python Websocket 客户端上的线程池
Python Thread Pool on a Websocket Client
我有一个网络套接字客户端,它使用异步从网络套接字服务器接收消息。
async def web_socket(server):
async with websockets.connect(server) as websocket:
message = await websocket.recv()
t = Thread(target=message_helper.process_message,args(message))
t.start()
来自 websocket 服务器的消息进来的速度非常快,而且它会无限期地运行。我想设置一个线程池以确保我有足够的线程。
我见过的所有例子都设置了一个队列(这里是一个例子:Thread Pool with Queue。我见过的例子都有一个预定义的任务数组,然后它开始使用线程池处理它们。
在我上面的示例中,我看不出如何实现它?由于每秒都有消息传入,我想启动一个线程来处理每条消息。当我没有预定义的任务数组时,有没有办法实现我试图用线程池做的事情?
async def web_socket(server):
async with websockets.connect(server) as websocket:
message = await websocket.recv()
loop.run_in_executor(None, message_helper.process_message, args(message))
我有一个网络套接字客户端,它使用异步从网络套接字服务器接收消息。
async def web_socket(server):
async with websockets.connect(server) as websocket:
message = await websocket.recv()
t = Thread(target=message_helper.process_message,args(message))
t.start()
来自 websocket 服务器的消息进来的速度非常快,而且它会无限期地运行。我想设置一个线程池以确保我有足够的线程。
我见过的所有例子都设置了一个队列(这里是一个例子:Thread Pool with Queue。我见过的例子都有一个预定义的任务数组,然后它开始使用线程池处理它们。
在我上面的示例中,我看不出如何实现它?由于每秒都有消息传入,我想启动一个线程来处理每条消息。当我没有预定义的任务数组时,有没有办法实现我试图用线程池做的事情?
async def web_socket(server):
async with websockets.connect(server) as websocket:
message = await websocket.recv()
loop.run_in_executor(None, message_helper.process_message, args(message))