Aquanode LogoAquanode Docs
Jobs

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 attempt

A 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