Aegis
Aegis

Watching progress

Long analyses stream per-sequence progress in real time over Server-Sent Events (SSE). You don't need to refresh — the progress bar advances as the worker finishes each stage.

What you'll see

  1. Queued — job accepted, waiting for a worker slot. Usually < 1 s under normal load.
  2. Running — progress bar with “N of M sequences” and current stage (BLAST, taxonomy, AMR, virulence, chimera, scoring, or the AI engine's multi-scale probes).
  3. Done / Failed — terminal event flips the cache and the results panel populates instantly.

Behind the bar: SSE

The browser opens a long-lived connection to GET /api/v1/jobs/{id}/stream. The API multiplexes worker progress events from Redis pub/sub through a single ProgressHub. Safeguards that matter when you're troubleshooting:

  • Per-user connection limit is 10 concurrent streams; further attempts fall back to polling.
  • Streams auto-close after 30 minutes — if your job is longer, the UI transparently reconnects.
  • If SSE is disabled server-side (aegis:sse_disabledRedis flag), the client falls back to periodic polling and the bar advances in coarser steps.
Why the bar sometimes pauses
BLAST against core_nt against larger inputs is the longest single stage. A pause at ~30–60% usually means BLAST is still running. The bar resumes as soon as results arrive.

Cancelling a running job

Open the job from your history and click Cancel Job. The button is visible while the job is queued or running and disappears once the job reaches a terminal state. Under the hood it calls POST /jobs/{id}/cancel; scripted users can hit that endpoint directly.

If a job fails

  • Single-service failure — when you submitted both pipeline and AI engine, one can fail while the other succeeds. The result view surfaces the failed service inline with a short error label; the succeeded side still shows its results normally.
  • Full failure — a red banner with the failure reason. Common causes: input rejected after validation drift, worker OOM on very long sequences, temporary external-DB outage.
  • Retry — re-submit the same FASTA from the Analyze page. Cached results from prior successful services still apply, so only the failed side re-runs.

Once it's finished, see History & export to find it again.