Skip to content
This repository was archived by the owner on Sep 22, 2023. It is now read-only.

Commit ee2851d

Browse files
committed
feat: display kernel-pull-progress using tqdm
1 parent e3b7892 commit ee2851d

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

changes/181.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Display kernel-pull-progress from background-task-reporter

src/ai/backend/client/func/session.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,28 @@ async def get_or_create(
298298
rqst.set_json(params)
299299
async with rqst.fetch() as resp:
300300
data = await resp.json()
301+
with tqdm(total=100, unit='%') as pbar:
302+
task_id = data['background_task']
303+
bgtask = resp.session.BackgroundTask(task_id)
304+
async with bgtask.listen_events() as response:
305+
async for ev in response:
306+
_data = json.loads(ev.data)
307+
if ev.event == 'bgtask_updated':
308+
current = _data['current_progress']
309+
total = _data['total_progress']
310+
if total==0:
311+
total = 1e-2
312+
pbar.n = round(current / total * 100, 2)
313+
pbar.update(0)
314+
pbar.refresh()
315+
elif ev.event == 'bgtask_done':
316+
pbar.n = 100.0
317+
pbar.update(0)
318+
pbar.refresh()
319+
pbar.clear()
320+
async with rqst.fetch() as resp:
321+
data = await resp.json()
322+
print('kernel pulling done...')
301323
o = cls(name, owner_access_key) # type: ignore
302324
if api_session.get().api_version[0] >= 5:
303325
o.id = UUID(data['sessionId'])

0 commit comments

Comments
 (0)