diff options
Diffstat (limited to 'examples/jobs.py')
-rw-r--r-- | examples/jobs.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/jobs.py b/examples/jobs.py new file mode 100644 index 0000000..6286b56 --- /dev/null +++ b/examples/jobs.py @@ -0,0 +1,31 @@ +from time import sleep +from rich.panel import Panel +from rich.progress import Progress + + +JOBS = [100, 150, 25, 70, 110, 90] + +progress = Progress(auto_refresh=False) +master_task = progress.add_task("overall", total=sum(JOBS)) +jobs_task = progress.add_task("jobs") + +progress.console.print( + Panel( + "[bold blue]A demonstration of progress with a current task and overall progress.", + padding=1, + ) +) + +with progress: + for job_no, job in enumerate(JOBS): + progress.log(f"Starting job #{job_no}") + sleep(0.2) + progress.reset(jobs_task, total=job, description=f"job [bold yellow]#{job_no}") + progress.start_task(jobs_task) + for wait in progress.track(range(job), task_id=jobs_task): + sleep(0.01) + progress.advance(master_task, job) + progress.log(f"Job #{job_no} is complete") + progress.log( + Panel(":sparkle: All done! :sparkle:", border_style="green", padding=1) + ) |