我有这个密码:
这是我的生成器代码:
from time import sleep
mock_sf_record = '{"payload": ...}'
def generateMessages():
sleep(5)
yield mock_sf_record
以及调用此代码的代码:
async def subscribe(subscription):
global RECEIVED_MESSAGES_CACHE
...
while True:
messageStream = next(generateMessages()) if ENV == 'dev' else await websocket.recv()
调用subscribe
的代码:
for subscription in SUBSCRIPTION_TYPES:
loop.create_task(subscribe(subscription))
loop.run_forever()
因此,SUBSCRIPTION_TYPES
是一个由3个订阅组成的数组。但是,这只会为一个订阅生成一个消息流,而我似乎从未为任何其他订阅生成消息流。。。它似乎被一根线挡住了。但它确实会生成多条消息,但只针对一个订阅。为什么会这样?我想发电机阻塞了。。。但我不知道为什么
我不太明白你的生成器在做什么,但我认为主要的问题是你的无限循环。如果我理解正确,您只需要迭代,直到耗尽生成的消息
相关问题 更多 >
编程相关推荐