hf jobs ls / inspect / logs / stats / wait / cancel / rerun / labels / expose / ssh / hardware în Hugging Face Hub & Transformers

CLI hf: Spaces, Jobs și Endpoints huggingface_hub 2.3 / CLI hf (octombrie 2026)

Urmărește și controlează Job-urile pornite pe Hugging Face: listare și filtrare, detalii, loguri, consum de resurse, așteptare, anulare, repornire, etichete, porturi și SSH.

Sintaxă & invocare Python
hf jobs ls [-a] [--status STARE] [--label CHEIE=VAL] [--name NUME]
hf jobs inspect | logs | stats | wait | cancel | rerun | labels | expose | ssh JOB_ID ...
hf jobs hardware

Ce face hf jobs ls / inspect / logs / stats / wait / cancel / rerun / labels / expose / ssh / hardware

hf jobs ls (aliasuri list, ps) arată implicit Job-urile care rulează sau se programează; -a le arată pe toate. Filtrele --status, --label și --name se combină (un Job trebuie să le respecte pe toate). Implicit se afișează maximum 100 de Job-uri; --limit 0 le arată pe toate.

inspect afișează detaliile unuia sau mai multor Job-uri, logs afișează logurile disponibile (-f le urmărește până la final), iar stats arată consumul de resurse (-f pentru afișare live). wait așteaptă unul sau mai multe Job-uri și iese cu 0 doar dacă toate s-au terminat cu succes. cancel anulează un Job, iar rerun pornește un Job nou cu aceeași specificație salvată.

labels schimbă numele sau etichetele unui Job (--label înlocuiește toate etichetele, --name singur le păstrează). expose înlocuiește porturile expuse ale unui Job care rulează, fără repornire. ssh deschide o sesiune SSH într-un Job pornit cu --ssh, iar hardware listează flavor-urile disponibile.

Sintaxă și opțiuni

Opțiune / Parametru Descriere
ls -a, --all Toate Job-urile; nu se combină cu --status.
ls --status [COMPLETED|CANCELED|ERROR|DELETED|SCHEDULING|RUNNING] Una sau mai multe stări, separate prin virgulă sau repetate.
ls -l, --label / --name Filtre pe etichete key=value / pe nume.
ls --limit INTEGER Implicit 100; 0 = fără limită.
inspect JOB_IDS... Detalii despre unul sau mai multe Job-uri.
logs -f, --follow / -n, --tail N Urmărire live / ultimele N linii.
stats [JOB_IDS]... [-f] Resurse folosite; fără ID-uri, Job-urile care rulează.
wait JOB_IDS... [--timeout] Așteaptă finalul; toate Job-urile trebuie să fie în același namespace.
cancel JOB_ID Anulează Job-ul.
rerun JOB_ID [-d] Job nou cu aceeași specificație; -d nu așteaptă.
labels JOB_ID --name / -l / --clear Redenumire, etichete noi, ștergerea etichetelor.
expose JOB_ID [PORTS]... --public N / --clear Porturi cu token (poziționale), publice, sau închiderea tuturor.
ssh JOB_ID -i FIȘIER / --dry-run Cheia SSH / doar afișarea comenzii.
hardware Flavor-urile disponibile pentru Jobs.
--namespace TEXT Contul sau organizația Job-ului; ID-ul poate fi și namespace/job_id.
--token TEXT Token de acces (User Access Token) creat în huggingface.co/settings/tokens. Implicit se folosește tokenul salvat de hf auth login.

Exemple practice

Exemplul 1: Toate Job-urile terminate

hf jobs ls -a --status completed

Exemplul 2: Job-uri care rulează, cu două etichete

hf jobs ls --status running --label env=prod --label team=ml

Exemplul 3: Ultimele 100 de linii, apoi live

hf jobs logs -f --tail 100 JOB_ID

Exemplul 4: Așteptarea tuturor Job-urilor active

hf jobs ls -q | xargs hf jobs wait

Exemplul 5: Port 8000 cu token, 9000 public

hf jobs expose JOB_ID 8000 --public 9000

Exemplul 6: SSH într-un Job

hf jobs run --ssh --detach python:3.12 sleep infinity
hf jobs ssh JOB_ID

Greșeli frecvente și bune practici

  • Te bazezi pe logs -f pentru starea finală. Urmărirea se oprește când se termină fluxul de loguri, indiferent de rezultat; verifică cu hf jobs inspect sau folosește hf jobs wait.
  • Rulezi labels --label ... crezând că adaugi o etichetă. Opțiunea înlocuiește toate etichetele existente.
  • Folosești hf jobs ps --filter din versiuni vechi. A fost înlocuit de --status și --label.

Comenzi înrudite