Ich habe zwei Prozesse; ein Hauptprozess und ein Subprozess. Der Hauptprozess führt eine asyncio
Ereignisschleife aus und startet den Subprozess. Ich möchte eine weitere asyncio-Ereignisschleife im Subprozess starten. Ich benutze das Modul aioprocessing
, um den Subprozess zu starten.Asyncio Ereignisschleife pro Python-Prozess (AIOprocessing, mehrere Ereignisschleifen)
Die subprocess Funktion ist:
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())
Aber ich erhalte eine Fehlermeldung:
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.
Ist es möglich, eine neue zu starten, oder starten Sie den bestehenden, asyncio
Ereignisschleife im subprocess ? Wenn das so ist, wie?
Wie wird die Subprozess gestartet? – tdelaney
process = aioprocessing.AioProcess (Ziel = Ziel) process.start() – solarw
Ich denke, 'aioprocessing' wurde von unserem eigenen @dano geschrieben. Sie könnten es zum Titel hinzufügen, um seine Aufmerksamkeit zu erhalten. – tdelaney