try: await asyncio.wait_for(event.wait(), timeout=1) print('end')except asyncio.TimeoutError: print('wait ...')
Full example
import asyncioasync def child(event): await asyncio.sleep(10)async def parent(event): while True: try: await asyncio.wait_for(event.wait(), timeout=1) print('child END') break except asyncio.TimeoutError: print('wait ...')async def main(): event = asyncio.Event() tasks = [parent(event), child(event)] await asyncio.gather(*tasks)asyncio.run(main())