Projects and batches¶
Argus organises events in a three-level hierarchy:
Project ─┬── Batch ─┬── Job ─┬── Epoch metric
│ │ ├── Resource snapshot
│ │ └── Log line
│ └── Batch metadata (env_snapshot, owner, command)
└── Project-level settings (notification recipients, share links)
A project is what the SDK passes as source_project=. A batch is
what one with Reporter(...) opens. Jobs are runs inside a batch
(several for a sweep, one for a single training).
Projects¶
Listing & creating¶
Sidebar → Projects. Members see projects they belong to; admins see everything. New project asks for a slug (immutable) and display name.
Project detail¶
Tabs:
| Tab | What you find |
|---|---|
| Overview | Recent batches, summary counters, owners |
| Batches | Filterable batch list |
| Settings | Display name, notification recipients, share links, members |
Visibility¶
A project is private (members only) or public (read-only to anyone, including unauthenticated visitors). Members can be added by the project owner or any admin.
Notification recipients¶
Each project routes its email notifications to a list of recipients, not just the creator (#116). Edit in Settings → Recipients. See Notifications for triggers.
Batches¶
Listing¶
GET /api/batches is the underlying endpoint. The Batches page filters
by project, status, host, owner, and tag. URLs are deep-linkable.
Batch detail¶
The header shows status, elapsed time, ETA (when computable), owner, host, and the recorded command. The body is dominated by the JobMatrix (see Job matrix) for sweeps, or a single-job summary card.
Actions on a batch¶
| Action | Endpoint | Effect |
|---|---|---|
| Star | (front-end pin store) | Pinned to your starred list |
| Stop | POST /api/batches/{id}/stop |
Sets a stop flag; SDK exits cleanly within ~10 s |
| Rerun | POST /api/batches/{id}/rerun |
Asks argus-agent on the origin host to relaunch the recorded command |
| Share | (shares API) |
Mints a read-only public link |
| Delete | DELETE /api/batches/{id} |
Soft delete; sweeper purges per retention policy |
| Bulk delete | POST /api/batches/bulk-delete |
Multi-select |
| Export CSV | GET /api/batches/{id}/export.csv |
Per-job final metrics |
Stop is always available to the owner. Rerun requires an online agent on the origin host (the agent is shipped by the Sibyl package — see Argus Agent).
Health & ETA¶
GET /api/batches/{id}/health flags a stalled batch when its newest event
is older than ARGUS_STALL_TIMEOUT_MIN minutes (default 15). The UI
surfaces this as an amber dot.
GET /api/batches/{id}/eta and /jobs/eta-all compute ETAs from completed
epoch durations. The UI hides the value until enough data points have been
collected to keep the estimate stable.