У меня два процесса; основной процесс и подпроцесс. Основной процесс запускает цикл событий asyncio
и запускает подпроцесс. Я хочу запустить еще один цикл событий asyncio в подпроцессе. Я использую модуль aioprocessing
для запуска подпроцесса.
Функция подпроцесса:
def subprocess_code():
loop = asyncio.get_event_loop()
@asyncio.coroutine
def f():
for i in range(10):
print(i)
yield from asyncio.sleep(1)
loop.run_until_complete(f())
Но получаю ошибку:
loop.run_until_complete(f())
File "/usr/lib/python3.4/asyncio/base_events.py", line 271, in run_until_complete
self.run_forever()
File "/usr/lib/python3.4/asyncio/base_events.py", line 239, in run_forever
raise RuntimeError('Event loop is running.')
RuntimeError: Event loop is running.
Можно ли запустить новый или перезапустить существующий asyncio
цикл обработки событий в подпроцессе? Если да, то как?
aioprocessing
был написан нашим собственным @dano. Вы можете добавить это к заголовку, чтобы привлечь его внимание. - person tdelaney   schedule 17.04.2015aioprocessing
: bugs.python.org/issue22087 - person dano   schedule 17.04.2015