Skip to content

Commit 23f74ca

Browse files
authored
Add CLI command for getting batch job status (#75)
1 parent b890196 commit 23f74ca

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

launch/cli/batch_jobs.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import click
2+
3+
from launch.cli.client import init_client
4+
from launch.cli.console import pretty_print, spinner
5+
6+
7+
@click.group("batch-jobs")
8+
@click.pass_context
9+
def batch_jobs(ctx: click.Context):
10+
"""
11+
Batch Jobs is a wrapper around batch jobs in Scale Launch
12+
"""
13+
14+
15+
@batch_jobs.command("get")
16+
@click.argument("job_id")
17+
@click.pass_context
18+
def get_bundle(ctx: click.Context, job_id: str):
19+
"""Print bundle info"""
20+
client = init_client(ctx)
21+
22+
with spinner(f"Fetching batch job '{job_id}'"):
23+
batch_job = client.get_batch_async_response(job_id)
24+
25+
pretty_print(f"status: {batch_job['status']}")
26+
pretty_print(f"result: {batch_job['result']}")
27+
pretty_print(f"duration: {batch_job['duration']}")
28+
pretty_print(f"# tasks pending: {batch_job['num_tasks_pending']}")
29+
pretty_print(f"# tasks completed: {batch_job['num_tasks_completed']}")

launch/cli/bin.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import click
22

3+
from launch.cli.batch_jobs import batch_jobs
34
from launch.cli.bundles import bundles
45
from launch.cli.config import ContextObject, config, set_config
56
from launch.cli.endpoints import endpoints
@@ -26,6 +27,7 @@ def entry_point(ctx, **kwargs):
2627
ctx.invoke(set_config)
2728

2829

30+
entry_point.add_command(batch_jobs) # type: ignore
2931
entry_point.add_command(bundles) # type: ignore
3032
entry_point.add_command(config) # type: ignore
3133
entry_point.add_command(endpoints) # type: ignore

0 commit comments

Comments
 (0)