Fix run detail page and recipe name
- Render HTML template for run detail (not just JSON) - Get recipe name from pending_runs instead of hardcoding "dag" Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -89,8 +89,9 @@ async def create_run(
|
|||||||
return run
|
return run
|
||||||
|
|
||||||
|
|
||||||
@router.get("/{run_id}", response_model=RunStatus)
|
@router.get("/{run_id}")
|
||||||
async def get_run(
|
async def get_run(
|
||||||
|
request: Request,
|
||||||
run_id: str,
|
run_id: str,
|
||||||
run_service: RunService = Depends(get_run_service),
|
run_service: RunService = Depends(get_run_service),
|
||||||
):
|
):
|
||||||
@@ -98,7 +99,16 @@ async def get_run(
|
|||||||
run = await run_service.get_run(run_id)
|
run = await run_service.get_run(run_id)
|
||||||
if not run:
|
if not run:
|
||||||
raise HTTPException(404, f"Run {run_id} not found")
|
raise HTTPException(404, f"Run {run_id} not found")
|
||||||
return run
|
|
||||||
|
if wants_json(request):
|
||||||
|
return run
|
||||||
|
|
||||||
|
# Render HTML detail page
|
||||||
|
templates = get_templates(request)
|
||||||
|
return render(templates, "runs/detail.html", request,
|
||||||
|
run=run,
|
||||||
|
active_tab="runs",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@router.delete("/{run_id}")
|
@router.delete("/{run_id}")
|
||||||
|
|||||||
@@ -383,16 +383,18 @@ def execute_dag(self, dag_json: str, run_id: str = None) -> dict:
|
|||||||
if (node.node_type == NodeType.SOURCE or str(node.node_type) == "SOURCE")
|
if (node.node_type == NodeType.SOURCE or str(node.node_type) == "SOURCE")
|
||||||
and node.config.get("content_hash")
|
and node.config.get("content_hash")
|
||||||
]
|
]
|
||||||
# Get actor_id from pending_runs (saved when run started)
|
# Get actor_id and recipe from pending_runs (saved when run started)
|
||||||
actor_id = None
|
actor_id = None
|
||||||
|
recipe_name = "dag"
|
||||||
pending = await database.get_pending_run(run_id)
|
pending = await database.get_pending_run(run_id)
|
||||||
if pending:
|
if pending:
|
||||||
actor_id = pending.get("actor_id")
|
actor_id = pending.get("actor_id")
|
||||||
|
recipe_name = pending.get("recipe") or "dag"
|
||||||
|
|
||||||
await database.save_run_cache(
|
await database.save_run_cache(
|
||||||
run_id=run_id,
|
run_id=run_id,
|
||||||
output_hash=output_hash,
|
output_hash=output_hash,
|
||||||
recipe="dag",
|
recipe=recipe_name,
|
||||||
inputs=input_hashes_for_db,
|
inputs=input_hashes_for_db,
|
||||||
ipfs_cid=output_ipfs_cid,
|
ipfs_cid=output_ipfs_cid,
|
||||||
actor_id=actor_id,
|
actor_id=actor_id,
|
||||||
|
|||||||
Reference in New Issue
Block a user