Hub documentation
Gérer les tâches
Gérer les tâches
Liste des tâches
Retrouvez votre liste de Jobs sur la page Jobs ou sur la page Jobs de votre organisation (page utilisateur/organisation > paramètres > Jobs) :

Elle est également disponible dans le CLI Hugging Face. Affichez la liste des Jobs en cours d’exécution avec hf jobs ps et utilisez -a pour afficher tous les Jobs :
>>> hf jobs ps
JOB ID IMAGE/SPACE COMMAND CREATED STATUS
------------ ---------------- ----------- ------------------- -------
69402ea6c... ghcr.io/astra... uv run p... 2025-12-15 15:52:06 RUNNING
>>> hf jobs ps -a
JOB ID IMAGE/SPACE COMMAND CREATED STATUS
------------ ---------- --------------- ------------------- ---------
69402ea6c... ghcr.io... uv run pytho... 2025-12-15 15:52:06 RUNNING
693b06b8c... ghcr.io... uv run pytho... 2025-12-11 18:00:24 CANCELED
693b069fc... ghcr.io... uv run pytho... 2025-12-11 17:59:59 ERROR
693aef401... ghcr.io... uv run pytho... 2025-12-11 16:20:16 COMPLETED
693aee76c... ubuntu echo Hello f... 2025-12-11 16:16:54 COMPLETED
693ae8e3c... python:... python -c pr... 2025-12-11 15:53:07 COMPLETEDSpécifiez l'namespace de votre organisation pour lister les Jobs sous votre organisation :
>>> hf jobs ps --namespace <my-org-name>Filtrer les offres
Vos étiquettes les plus utilisées sont affichées au-dessus de la liste des Jobs, avec le nombre de Jobs utilisant chacune d’entre elles ; cliquez sur l’une d’elles pour filtrer par celle-ci, ou saisissez n’importe quelle étiquette key=value :

Dans l’interface en ligne de commande, filtrez par statut avec --status et par étiquette avec --label key=value. Répétez --label pour exiger plusieurs étiquettes à la fois :
# Jobs that ended in error
>>> hf jobs ps --status error
# Running or scheduling Jobs with a given label
>>> hf jobs ps --status running,scheduling --label env=prod
# All Jobs (any status) that have both labels
>>> hf jobs ps -a --label model=Qwen3-06B --label dataset=Capybara
# A label added without a value (`--label fine-tuning`) is matched with a trailing "="
>>> hf jobs ps -a --label fine-tuning=Filtrer par nom avec --name, un raccourci pour --label name=<name>, par exemple pour lister toutes les exécutions d'un Job nommé :
>>> hf jobs ps -a --name daily-report
JOB_ID NAME IMAGE/SPACE COMMAND CREATED STATUS RUNTIME
----------- ------------ ----------- ------------ ------------ --------- -------
6a9042c2... daily-report python:3.12 python -c... 2026-08-2... COMPLETED 0s
6a904162... daily-report python:3.12 python -c... 2026-08-2... CANCELED -- Par défaut,
hf jobs psaffiche les Jobs en cours d’exécution et en cours de planification. Utilisez-apour afficher tous les statuts ;-ane peut pas être combiné avec--status.
Surveiller l'utilisation des ressources
Utilisez hf jobs stats pour obtenir un instantané de l’utilisation du CPU, de la mémoire, du réseau et du GPU (le cas échéant) des Jobs en cours d’exécution :
>>> hf jobs stats
JOB ID CPU % NUM CPU MEM % MEM USAGE NET I/O GPU UTIL % GPU MEM % GPU MEM USAGE
------------------------ ----- ------- ----- ---------------- --------------- ---------- --------- ---------------
695e83c5d2f3efac77e8cf18 8% 12.0 7.18% 10.9GB / 152.5GB 0.0bps / 0.0bps 100% 31.92% 25.9GB / 81.2GBSpécifiez un ou plusieurs identifiants de Job pour n’afficher que les statistiques de certains Jobs :
>>> hf jobs stats [job-ids]...Utilisez -f pour suivre les statistiques en direct jusqu’à la fin des Jobs :
>>> hf jobs stats -f [job-ids]...Inspecter un Job
Vous pouvez consulter les journaux d'état d'un Job sur la page Job :

En utilisant plutôt l’interface en ligne de commande
>>> hf jobs inspect 693994e21a39f67af5a41ad0
[
{
"id": "693994e21a39f67af5a41ad0",
"created_at": "2025-12-10 15:42:26.835000+00:00",
"docker_image": "ghcr.io/astral-sh/uv:python3.12-bookworm",
"space_id": null,
"command": ["bash", "-c", "python -c \"import urllib.request; import os; from pathlib import Path; o = urllib.request.build_opener(); o.addheaders = [(\\\"Authorization\\\", \\\"Bearer \\\" + os.environ[\\\"UV_SCRIPT_HF_TOKEN\\\"])]; Path(\\\"/tmp/script.py\\\").write_bytes(o.open(os.environ[\\\"UV_SCRIPT_URL\\\"]).read())\" && uv run --with trl /tmp/script.py"],
"arguments": [],
"environment": {"UV_SCRIPT_URL": "https://huggingface.co/datasets/lhoestq/hf-cli-jobs-uv-run-scripts/resolve/728cc5682eb402d7ffe66a2f6f97645b34cb08dd/train.py"},
"secrets": ["HF_TOKEN", "UV_SCRIPT_HF_TOKEN"],
"flavor": "a100-large",
"status": {"stage": "COMPLETED", "message": null},
"owner": {"id": "5e9ecfc04957053f60648a3e", "name": "lhoestq", "type": "user"},
"endpoint": "https://huggingface.co",
"url": "https://huggingface.co/jobs/lhoestq/693994e21a39f67af5a41ad0"
}
]et pour les journaux
>>> hf jobs logs 693994e21a39f67af5a41ad0
Downloading nvidia-cuda-nvrtc-cu12 (84.0MiB)
Downloading numpy (15.8MiB)
Downloading nvidia-cuda-cupti-cu12 (9.8MiB)
Downloading tokenizers (3.1MiB)
Downloading nvidia-cusolver-cu12 (255.1MiB)
Downloading nvidia-cufft-cu12 (184.2MiB)
Downloading transformers (11.4MiB)
Downloading setuptools (1.1MiB)
... Spécifiez l'namespace de votre organisation pour inspecter un Job sous votre organisation :
hf jobs inspect --namespace <my-org-name> <job_id>
hf jobs logs --namespace <my-org-name> <job_id>Attendre la fin des Jobs
Utilisez hf jobs wait pour bloquer jusqu’à ce qu’un ou plusieurs Jobs atteignent un état terminal (COMPLETED, CANCELED, ERROR ou DELETED). Il se termine avec le code 0 uniquement si tous les Jobs ont abouti avec succès, et avec un code non nul dans le cas contraire — pratique pour enchaîner des étapes dans des scripts shell ou des pipelines CI :
# Wait for a single Job
>>> hf jobs wait 693994e21a39f67af5a41ad0
# Wait for several Jobs at once (all must be in the same namespace)
>>> hf jobs wait <job_id_1> <job_id_2>
# Wait for every currently running Job
>>> hf jobs ps -q | xargs hf jobs waitDéfinissez une attente maximale avec --timeout (accepte s, m, h ou d) :
>>> hf jobs wait --timeout 30m 693994e21a39f67af5a41ad0Comme hf jobs wait renvoie un code de sortie non nul lorsqu’un Job échoue, vous pouvez l’enchaîner avec &&. Un hf jobs run non détaché (ou hf jobs uv run) bloque déjà et se termine avec un code non nul en cas d’échec, de sorte qu’un wait explicite n’est nécessaire que pour les Jobs détachés (-d) ou lors de l’attente d’un lot :
>>> hf jobs wait 693994e21a39f67af5a41ad0 && echo "job completed successfully"Enregistrer vos résultats
Le système de fichiers d’un Job est supprimé lorsque le Job se termine. Écrivez tout ce que vous souhaitez conserver dans un emplacement durable avant la sortie du Job :
Artefacts intermédiaires, points de contrôle et journaux → un volume de type Storage Bucket. Montez un bucket et écrivez les sorties sous le chemin de montage — voir Volumes pour des exemples. Les montages de volumes sont autorisés avec votre identité Hugging Face lors de la création du Job, votre script n’a donc pas besoin de jeton pour y écrire.
Modèles et jeux de données finaux → pousser vers un dépôt du Hub. Les Jobs ne disposent d’aucun jeton Hugging Face à moins que vous n’en passiez un, par exemple
--secrets HF_TOKEN(la forme simple résout automatiquement vers votre jeton de session). Si votre script appellepush_to_hub()oucreate_repo(), assurez-vous que le jeton a un accès en écriture (les jetons à granularité fine nécessitent les permissions d’écriture et de création de dépôt). Un mode d’échec courant est un Job qui termine des heures de calcul puis échoue lors de la téléversement final parce que le jeton ne peut pas écrire — le calcul est terminé, mais les résultats ne sont pas sauvegardés.Afficher les résultats clés dans les journaux. Les journaux du Job sont conservés après la fin du Job et peuvent être récupérés à tout moment avec
hf jobs logs <job-id>. L’affichage des métriques finales sur stdout permet de les récupérer même si une étape de téléversement échoue.
Une fois qu'un Job est terminé, vérifiez que vos sorties ont bien été enregistrées (par exemple avec hf buckets list) — un statut COMPLETED signifie que la commande s'est terminée avec succès, pas que les fichiers ont été persistés à l'endroit attendu.
Déboguer un Job
Si un Job présente une erreur, vous pouvez la consulter sur la page du Job

Consultez le message de statut et les journaux sur la page du Job pour identifier ce qui a mal fonctionné.
Vous pouvez également consulter les dernières lignes des journaux pour voir ce qui s’est passé avant l’échec d’un Job. Vous pouvez le voir dans la page du Job, ou en utilisant le CLI :
>>> hf jobs logs 69405cf51a39f67af5a41f29 | tail -n 10
Downloaded nvidia-cudnn-cu12
Downloaded torch
Installed 66 packages in 226ms
Generating train split: 100%|██████████| 15806/15806 [00:00<00:00, 73330.17 examples/s]
Generating test split: 100%|██████████| 200/200 [00:00<00:00, 45427.32 examples/s]
Traceback (most recent call last):
File "/tmp/script.py", line 7, in <module>
train_dataset=train_dataset,
^^^^^^^^^^^^^
NameError: name 'train_dataset' is not defined. Did you mean: 'load_dataset'?Déboguer un Job localement à l’aide de votre configuration locale UV ou Docker :
hf jobs uv run ...->uv run ...hf jobs run ...->docker run ...
Le message d’état peut indiquer « Job timeout » : cela signifie que le Job n’a pas terminé à temps avant l’expiration du délai (30 min par défaut) et a donc été arrêté.
Dans ce cas, vous devez spécifier un délai plus élevé en utilisant --timeout dans l’interface en ligne de commande, par exemple
hf jobs uv run --timeout 3h ...Rexécuter un Job
Utilisez hf jobs rerun pour démarrer un nouveau Job avec la configuration enregistrée d’un Job existant, y compris ses secrets et son type de matériel :
>>> hf jobs rerun <job_id>Le nouveau Job possède son propre ID. En Python, utilisez rerun_job.
Annuler les tâches
Utilisez le bouton « Annuler » sur la page Job pour annuler un Job :

ou dans le CLI :
hf jobs cancel 693b06b8c67c9f186cfe239e

Spécifiez l'namespace de votre organisation pour annuler un Job sous votre organisation :
hf jobs cancel --namespace <my-org-name> <job_id>Barre de menu MacOS
Retrouvez votre liste de Jobs dans le client MacOS hfjobs-menubar :

Obtenir les informations sur les Jobs et surveiller les journaux et les statistiques d’utilisation des ressources :
