Jobs from the CLI
aq job: create, run, follow and cancel.
Everything about jobs lives under aq job.
Why it is a group and not top-level verbs
aq run already means "push this directory to a box and run a command on it
with my terminal attached", and aq logs already tails a box. Those are daily
commands, and aq run mybox and aq run myjob are the same string, so there
is no argument shape that could tell them apart. So jobs got a group rather
than breaking two verbs people use.
Creating
aq job create <setup> <version> --max-instances 2--max-instances is required: a job hands out a GPU budget and never defaults to
unbounded. --name defaults to the setup's own name. --on <alias> pins the job to a box
you already attached, in which case Aquanode rents nothing and bills nothing for it.
Running
aq job run <job>
aq job run <job> --input params.json
aq job run <job> --wait
aq job run <job> --follow--input takes a JSON file of the declared params. Without --wait you get a run id
immediately. --follow (or -f) creates the run, then streams its log the same way
aq job logs <job> <run-id> -f does, so you never have to copy the run id out to watch
it.
Watching
aq job runs <job> # recent runs: id, status, phase, reason
aq job logs <job> <run-id> # print the log so far
aq job logs <job> <run-id> -f # keep printing as it is written
aq job logs <job> <run-id> --attempt 2 # one specific attemptA run that moved between machines has several attempts, and --attempt picks one. The
default is the latest, not all of them joined together: concatenating would put the
timestamps out of order in the middle with nothing marking the seam.
If we cannot reach the machine to read its log, aq says so on stderr rather than
printing nothing. An empty log and an unreadable one are different, and silence would
claim the first.
Stopping
aq job cancel <job> <run-id>Billing stops when the machine is released.
Repointing and removing
aq job point <name> <version> # same job, newer version: this is the deploy
aq job rm <name> # remove the job; the setup and versions are untouched