Ho due processi; un processo principale e un sottoprocesso. Il processo principale sta eseguendo un ciclo di eventi asyncio
e avvia il sottoprocesso. Voglio avviare un altro ciclo di eventi asyncio nel sottoprocesso. Sto usando il modulo aioprocessing
per avviare il sottoprocesso.Asyncio event loop per processo python (aioprocessing, più loop di eventi)
La funzione sottoprocesso è:
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())
ma ottengo un errore:
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.
E 'possibile iniziare una nuova, o riavviare il, asyncio
ciclo di eventi esistenti nel sottoprocesso ? Se é cosi, come?
Come è il sottoprocesso iniziare? – tdelaney
process = aioprocessing.AioProcess (target = target) process.start() – solarw
Penso che "aioprocessing" sia stato scritto dal nostro stesso @dano. Potresti aggiungerlo al titolo per attirare la sua attenzione. – tdelaney