1
0
Fork 0

return results for multiple jobs

This commit is contained in:
Sean Sube 2024-01-06 15:10:07 -06:00
parent e8e2b92436
commit 9b9a614f44
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
2 changed files with 19 additions and 13 deletions

1
api/.gitignore vendored
View File

@ -10,6 +10,7 @@ entry.py
.cache/
__pycache__/
dist/
filter/
htmlcov/
onnx_env/
venv/

View File

@ -110,7 +110,7 @@ def image_reply(
tiles: Progress = None,
outputs: List[str] = None,
metadata: List[ImageMetadata] = None,
):
) -> Dict[str, Any]:
if stages is None:
stages = Progress(0, 0)
@ -140,7 +140,7 @@ def image_reply(
data["metadata"] = [m.tojson(server, [o]) for m, o in zip(metadata, outputs)]
data["outputs"] = outputs
return jsonify([data])
return data
def multi_image_reply(results: Dict[str, Any]):
@ -668,11 +668,12 @@ def job_status(server: ServerContext, pool: DevicePoolExecutor):
if len(job_list) == 0:
return error_reply("at least one job name is required")
records = []
for job_name in job_list:
job_name = sanitize_name(job_name)
status, progress = pool.status(job_name)
# TODO: accumulate results
if progress is not None:
outputs = None
metadata = None
@ -681,7 +682,8 @@ def job_status(server: ServerContext, pool: DevicePoolExecutor):
outputs = make_output_names(server, job_name, len(progress.result))
metadata = progress.result.metadata
return image_reply(
records.append(
image_reply(
server,
job_name,
status,
@ -691,8 +693,11 @@ def job_status(server: ServerContext, pool: DevicePoolExecutor):
outputs=outputs,
metadata=metadata,
)
)
else:
records.append(image_reply(server, job_name, status))
return image_reply(server, job_name, status)
return jsonify(records)
def register_api_routes(app: Flask, server: ServerContext, pool: DevicePoolExecutor):