У меня есть функция сопрограммы, которую я вызываю, используя asyncio.gather()
. Функция:
async def blah(pk: int):
async for hi in aniter():
print(pk)
aniter()
на самом деле бесконечный итератор. Таким образом, вы можете думать о нем как о бесконечном l oop, например, когда True Это на самом деле не работает print (pk) каждую секунду. Итератор управляется другим пакетом и не так быстро.
В фоновом режиме я фактически использую Uvicorn, который выполняет эту функцию. Допустим, эта функция вызывается дважды, отдельно двумя разными клиентами. В первый раз pk равен 1; во второй раз pk равен 2.
К сожалению, print (pk) всегда печатает 1, а не 2. Почему это так и как это исправить, чтобы каждый из них запускал свой уникальный pk?