1

Here is my code:

async def outer():
    # if this while loop was not broken in 5 seconds, do something
    while True:
        # some code with breaks
    

Generally i need a non-blocking asynchronous timer.

3
  • @python_user not, it blocks other code inside same funciton Commented May 10, 2021 at 8:44
  • Do you mean if outer is not completed in 5 seconds you need to do something? Commented May 10, 2021 at 9:01
  • @Ceres no, i need to check while's completion time Commented May 10, 2021 at 9:32

1 Answer 1

1
def outer():
    async def loop():
         #while loop here
  

    task = asyncio.create_task(loop())
    done, pending = await asyncio.wait([task], return_when=asyncio.FIRST_COMPLETED, timeout=5)
    if task in done:
        # loop has completed
    else:
       # loop is incomplete

References:

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.