Я использую пакет IBSYNC для запроса данных у Interactive Broker.По сути, код вернет XML-файл.
Код выполняется, и я вижу, что XML был возвращен (напечатан на консоли брокера).Однако, когда я использую .result (), он возвращает Future pending.
Как вместо этого получить XML?
async def ReportsFinStatements(symbol, exchange, currency, primary):
stock = Stock(symbol, exchange, currency, primaryExchange= primary)
#ib.qualifyContractsAsync(stock)
assert await ib.reqContractDetailsAsync(stock)
data = ib.reqFundamentalDataAsync(contract=stock, reportType='ReportsFinStatements')
return data
async def main():
group1 = loop.create_task(ReportsFinStatements('PIH', 'SMART', 'USD', 'NASDAQ'))
group2 = loop.create_task(ReportsFinStatements('PIH', 'SMART', 'USD', 'NASDAQ'))
group3 = loop.create_task(ReportsFinStatements('PIH', 'SMART', 'USD', 'NASDAQ'))
await asyncio.wait([group1, group2, group3])
return group1, group2, group3
if __name__ == '__main__':
try:
loop = asyncio.get_event_loop()
d1, d2, d3 = loop.run_until_complete(main())
except Exception as e:
print('logging')
finally:
loop.close()
d1 равно <Task finished coro=<ReportsFinStatements() done, defined at <ipython-input-4-4a5ceba20b3a>:1> result=<Future pending>>