diff options
| author | bd <bdunahu@operationnull.com> | 2025-12-08 17:38:42 -0500 |
|---|---|---|
| committer | bd <bdunahu@operationnull.com> | 2025-12-08 17:38:42 -0500 |
| commit | 412c8225046b7549e0b02425f5140f2a33abac8a (patch) | |
| tree | 3b1986b9a43f0e14f6ed591602c159a46ecfb3c5 /t/block_longtime.py | |
| parent | 782050b9b648ef788e5695a5556b401d4ab66849 (diff) | |
ex: add examples
Diffstat (limited to 't/block_longtime.py')
| -rw-r--r-- | t/block_longtime.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/t/block_longtime.py b/t/block_longtime.py new file mode 100644 index 0000000..d848228 --- /dev/null +++ b/t/block_longtime.py @@ -0,0 +1,30 @@ +import asyncio +import time +import sys +import os +sys.path.append(os.path.expanduser('~/nemesis/')) +from nemesis.causal_event_loop import causal_loop_factory + + +async def burn_cpu(sec): + t0 = time.perf_counter() + elapsed = 0 + while (elapsed < sec): + for _ in range(1000): + pass + elapsed = time.perf_counter() - t0 + +async def sleep_task(duration): + await asyncio.sleep(duration) + +async def main(): + total_duration = 90 + sleep_durations = [1.0, 0.7, 0.7, 0.4] + + for _ in range(total_duration): + tasks = [asyncio.create_task(sleep_task(duration)) for duration in sleep_durations] + burn_task = asyncio.create_task(burn_cpu(1)) + + await asyncio.gather(burn_task, *tasks) + +asyncio.run(main(), loop_factory=causal_loop_factory) |
