Ich habe Schwierigkeiten, Python Asyncio NATS.io sequenziell zu machen. Ich habe zwei Klassen: Account
und Bridge
Konto hält die Logik der Anwendung und es kommuniziert Gedanken Bridge
mit externen Dienst über NATS.io.Python: Asyncio NATS.io blockiert
Main
Datei:
loop = asyncio.get_event_loop()
account = Account(loop, options)
asyncio.async(account.start())
loop.run_forever()
Account
Klasse:
class Account:
bridge = Bridge()
def connect(self):
result = self.bridge.connect(self.id)
return result
Bridge
Klasse:
def connect(self, account_id):
data = None
try:
response = yield from self.nc.timed_request("bank.account.connect",
BankRequest(
method="connect",
data={...}
), 10)
data = json.loads(response.data.decode())
except ErrTimeout:
status = Messages.REQUEST_TIMED_OUT
return Result(data=data)
Ich brauche account.connect()
rufen von überall innerhalb Kontoklasse und das Ergebnis der Verbindung zu erhalten (sequentiell). Jetzt erhalte ich generator
Objekt