summaryrefslogtreecommitdiff
path: root/tests/overload.py
blob: 9bba9a16066569804d17fb05bb2d04504d0655c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import asyncio
import time

async def busy_task():
    i = 0
    while i < 100:
        i += 1
    await asyncio.sleep(3.0)
    return 1

async def main():
    tasks = [asyncio.create_task(busy_task()) for i in range(5)]

    start_time = time.time()
    try:
        # this is to prevent waiting in 'select' all day,
        # which makes the python intepreter not respond to
        # mini-scalene / SCALENE
        while True:
            if time.time() - start_time > 4.0:
                break
            # print(asyncio.all_tasks())
            await asyncio.sleep(0)  # yield
    except KeyboardInterrupt:
        pass
    finally:
        print("Done.")

asyncio.run(main())