asyn c для внутреннего asyn c def не может подобрать имена. Подбирает имя от первого сопрограмма - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть функция сопрограммы, которую я вызываю, используя 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...