Я пытаюсь использовать asyncio
в своем коде. Это работает, но проблема в том, что Я хочу, чтобы мой код продолжал выполнять , вместо этого он продолжал ждать, пока код asyncio
завершит выполнение.
В текущем сценарии мой код продолжает ждать код asyncio result = asyncio.run(run())
должен быть завершен перед переходом к следующей строке кода.
Я думаю, что мой код asyncio должен быть выполнен в новом потоке. Но как заставить его работать?
Я использую Django.
def Dashboard(requests):
result = asyncio.run(run())
all_Farm = MyCollection.objects.all().filter(userid=requests.user.id)
return render(requests, 'Dashboard.html',
{'all_farm': all_Farm})
async def run():
drone = System()
await drone.connect(system_address="udp://:14540")
print("Waiting for drone to connect...")
async for state in drone.core.connection_state():
if state.is_connected:
print(f"Drone discovered with UUID: {state.uuid}")
break
print("Waiting for drone to have a global position estimate...")
async for health in drone.telemetry.health():
if health.is_global_position_ok:
print("Global position estimate ok")
break
print("-- Arming")
await drone.action.arm()
print("-- Taking off")
await drone.action.takeoff()
await asyncio.sleep(5)
print("-- Landing")
await drone.action.land()