Python 3.x 这个函数需要异步吗?
我有一些异步websocket代码,可以永远运行,并提供zmq套接字上的数据。在我的“接收者”页面上,我有以下代码:Python 3.x 这个函数需要异步吗?,python-3.x,async-await,python-asyncio,zeromq,pyzmq,Python 3.x,Async Await,Python Asyncio,Zeromq,Pyzmq,我有一些异步websocket代码,可以永远运行,并提供zmq套接字上的数据。在我的“接收者”页面上,我有以下代码: while True: msg = zmqsocket.signal_recv() new_msg = data_preparation_function(msg) other_function(new_msg) 我的数据准备函数聚合这些数据,并且每x条消息生成一条聚合消息,其他函数使用该聚合消息进行操作 我的问题是,如果第一个函数还没有运行完,其他函数
while True:
msg = zmqsocket.signal_recv()
new_msg = data_preparation_function(msg)
other_function(new_msg)
我的数据准备函数聚合这些数据,并且每x条消息生成一条聚合消息,其他函数使用该聚合消息进行操作
我的问题是,如果第一个函数还没有运行完,其他函数就不能执行任何操作,我是否应该使用asyncio重写数据准备函数
由于zmq套接字每秒产生数千条消息,而其他函数需要一些时间才能运行,如果我不从套接字读取数据,我担心在函数运行时会丢失数据,因此我正在考虑异步执行所有操作
我每x条消息使用一次Python 3.7.7,你的意思是当
数据准备函数(msg)
产生时需要调用其他函数
?似乎当前代码正在调用每个消息接收,每x条消息阻塞一次signal\u recv()
,您的意思是当data\u prepartaion\u函数(msg)
产生时需要调用other\u函数
?似乎当前代码正在调用每个消息接收,阻止信号\u recv()