From c59f7759bd2dc5e26b1b69d119d6ba593babaa02 Mon Sep 17 00:00:00 2001 From: Victor Skvortsov Date: Mon, 30 Dec 2024 11:44:24 +0500 Subject: [PATCH 1/2] Return deleted runs in /api/runs/list --- src/dstack/_internal/server/routers/runs.py | 1 + src/dstack/_internal/server/services/runs.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dstack/_internal/server/routers/runs.py b/src/dstack/_internal/server/routers/runs.py index 0fc39af86..ad5b99af3 100644 --- a/src/dstack/_internal/server/routers/runs.py +++ b/src/dstack/_internal/server/routers/runs.py @@ -47,6 +47,7 @@ async def list_runs( """ Returns all runs visible to user sorted by descending `submitted_at`. `project_name`, `repo_id`, `username`, and `only_active` can be specified as filters. + Setting `only_active` to `true`, excludes finished runs and deleted runs. Specifying `repo_id` without `project_name` returns no runs. The results are paginated. To get the next page, pass `submitted_at` and `id` of diff --git a/src/dstack/_internal/server/services/runs.py b/src/dstack/_internal/server/services/runs.py index 0fdb5c066..3d38ac421 100644 --- a/src/dstack/_internal/server/services/runs.py +++ b/src/dstack/_internal/server/services/runs.py @@ -163,7 +163,8 @@ async def list_projects_run_models( limit: int, ascending: bool, ) -> List[RunModel]: - filters = [RunModel.deleted == False, RunModel.project_id.in_(p.id for p in projects)] + filters = [] + filters.append(RunModel.project_id.in_(p.id for p in projects)) if repo is not None: filters.append(RunModel.repo_id == repo.id) if runs_user is not None: From e10a0abc8740bdf6a5e9c7ba451c102f106b7fbc Mon Sep 17 00:00:00 2001 From: Victor Skvortsov Date: Mon, 10 Feb 2025 15:14:25 +0500 Subject: [PATCH 2/2] Fix typo --- src/dstack/_internal/server/routers/runs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dstack/_internal/server/routers/runs.py b/src/dstack/_internal/server/routers/runs.py index ad5b99af3..bb9066d47 100644 --- a/src/dstack/_internal/server/routers/runs.py +++ b/src/dstack/_internal/server/routers/runs.py @@ -47,7 +47,7 @@ async def list_runs( """ Returns all runs visible to user sorted by descending `submitted_at`. `project_name`, `repo_id`, `username`, and `only_active` can be specified as filters. - Setting `only_active` to `true`, excludes finished runs and deleted runs. + Setting `only_active` to `true` excludes finished runs and deleted runs. Specifying `repo_id` without `project_name` returns no runs. The results are paginated. To get the next page, pass `submitted_at` and `id` of