armory
armory copied to clipboard
armory should give useful result to calling program
Currently armory puts copious output to stdout but it is structured for human eyes and not a calling program.
armory should return useful information in a easily parsed form. It could emit as its last act something like
result:
status: ok or failed
error: short-explanation
output-dir: 2020-12-08T144945.800499/
gpus: all
evaluation_duration: 14h:10m:12.012345s
with other meaningful task parameters.
It might also want to log this in the sabot jobs database, but that might better be the responsibility of the calling program which has more job context for the run.
This would allow tools like sabot-evalbox
to spin up a compute box, execute the job, and terminate the box all without intervention. This is part of what armory-cluster was hoped to provide but was never developed.
This is the main interface between the docker container and the calling armory process: https://github.com/twosixlabs/armory/blob/master/armory/docker/management.py#L72-L109
I couldn't figure out a good way to extract logs, outputs to screen, and return useful values simultaneously.
I'm not sure if this is what you were looking at, or if you were considering the primary armory process launch.