Hub documentation
إدارة المهام
إدارة المهام
قائمة المهام
اعثر على قائمة مهامك في صفحة Jobs أو في صفحة مهام مؤسستك (صفحة المستخدم/المؤسسة > الإعدادات > Jobs):

يتوفر أيضاً في واجهة Hugging Face سطر الأوامر. اعرض قائمة المهام قيد التشغيل باستخدام hf jobs ps واستخدم -a لعرض جميع المهام:
>>> 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 COMPLETEDحدد namespace الخاص بمنظمتك لعرض المهام (Jobs) تحت منظمتك:
>>> hf jobs ps --namespace <my-org-name>تصفية الوظائف
تُعرض التسميات الأكثر استخدامًا لديك فوق قائمة المهام مع عدد المهام التي تستخدم كل تسمية؛ انقر على واحدة منها للتصفية حسبها، أو اكتب أي تسمية بصيغة key=value:

في سطر الأوامر، قم بالتصفية حسب الحالة باستخدام --status وحسب التسمية باستخدام --label key=value. كرر --label لطلب عدة تسميات في آنٍ واحد:
# 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=تصفية حسب الاسم باستخدام --name، وهو اختصار لـ --label name=<name>، على سبيل المثال لعرض كل تشغيلات مهمة (Job) مُسماة:
>>> 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 -- يعرض
hf jobs psبشكل افتراضي مهام (Jobs) قيد التشغيل والجدولة. استخدم-aلعرض جميع الحالات؛ لا يمكن دمج-aمع--status.
مراقبة استخدام الموارد
استخدم hf jobs stats للحصول على لقطة لاستخدام المعالج المركزي والذاكرة والشبكة ومعالج الرسوميات (إن وُجد) في المهام قيد التشغيل:
>>> 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.2GBحدد معرّفًا واحدًا أو عدة معرّفات لـ Job لعرض إحصائيات مهام معينة فقط:
>>> hf jobs stats [job-ids]...استخدم -f لمتابعة الإحصاءات مباشرةً حتى اكتمال المهام:
>>> hf jobs stats -f [job-ids]...فحص مهمة
يمكنك الاطلاع على سجلات الحالة الخاصة بمهمة (Job) في صفحة المهمة:

أو باستخدام سطر الأوامر
>>> 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"
}
]وذلك بالنسبة إلى السجلات
>>> 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)
... حدد namespace الخاص بمنظمتك لفحص مهمة ضمن منظمتك:
hf jobs inspect --namespace <my-org-name> <job_id>
hf jobs logs --namespace <my-org-name> <job_id>انتظر حتى تنتهي المهام
استخدم hf jobs wait للحجب حتى تصل مهمة واحدة أو أكثر إلى حالة نهائية (COMPLETED أو CANCELED أو ERROR أو DELETED). ينتهي الأمر برمز 0 فقط إذا اكتملت جميع المهام بنجاح، وبرمز غير صفري في الحالات الأخرى — وهو أمر مفيد لسلسلة الخطوات في سكربتات shell أو بيئات 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 waitحدد وقت انتظار أقصى باستخدام --timeout (يقبل s أو m أو h أو d):
>>> hf jobs wait --timeout 30m 693994e21a39f67af5a41ad0بما أن hf jobs wait يُرجع رمز خروج غير صفري عند فشل المهمة، يمكنك ربطه بـ &&. إن كان hf jobs run غير منفصل (أو hf jobs uv run) فهو يحجب بالفعل وينتهي برمز غير صفري عند الفشل، لذا لا يكون الانتظار الصريح مطلوبًا إلا للمهام المنفصلة (-d) أو عند الانتظار على دفعة:
>>> hf jobs wait 693994e21a39f67af5a41ad0 && echo "job completed successfully"احفظ نتائجك
يتم حذف نظام ملفات المهمة (Job) عند انتهائها. اكتب أي شيء تريد الاحتفاظ به في مكان دائم قبل خروج المهمة:
المخرجات الوسيطة، ونقاط التفتيش، والسجلات → إلى وحدة تخزين Bucket. قم بتركيب bucket وكتابة المخرجات تحت مسار التركيب — راجع الوحدات (Volumes) للحصول على أمثلة. يتم تفويض تركيبات الوحدات بهويتك على Hugging Face عند إنشاء المهمة (Job)، لذا لا يحتاج سكربتك إلى رمز (token) للكتابة إليها.
النماذج النهائية ومجموعات البيانات → ارفعها إلى مستودع في Hub. لا تملك المهام رمز Hugging Face ما لم تمرر واحدًا، مثل
--secrets HF_TOKEN(الشكل الصريح يحل تلقائيًا إلى رمزك المسجّل الدخول به). إذا كان سكربتك يستدعيpush_to_hub()أوcreate_repo()، فتأكد من أن الرمز يملك صلاحية الكتابة (تحتاج الرموز الدقيقة إلى صلاحيات كتابة وإنشاء المستودع). نمط فشل شائع هو مهمة تكمل ساعات من الحساب ثم تعطي خطأ في الرفع النهائي لأن الرمز لا يستطيع الكتابة — الحساب اكتمل، لكن النتائج لم تُحفظ.اطبع النتائج الرئيسية في السجلات. تُحفظ سجلات المهمة بعد انتهائها ويمكن استعادتها في أي وقت باستخدام
hf jobs logs <job-id>. طباعة المقاييس النهائية في stdout تحافظ على إمكانية استعادتها حتى في حال فشل خطوة الرفع.
بعد اكتمال المهمة، تحقق من أن المخرجات قد حُفظت فعليًا (على سبيل المثال باستخدام hf buckets list) — فحالة COMPLETED تعني أن الأمر خرج بنجاح، وليس أن الملفات حُفظت في المكان الذي تتوقعه.
تصحيح خطأ في مهمة
إذا كان لدى مهمة خطأ، يمكنك رؤيته في صفحة المهمة

انظر إلى رسالة الحالة والسجلات في صفحة المهمة لمعرفة ما الذي حدث.
يمكنك أيضًا الاطلاع على الأسطر الأخيرة من السجلات لمعرفة ما حدث قبل فشل المهمة. يمكنك رؤية ذلك في صفحة المهمة، أو باستخدام سطر الأوامر:
>>> 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'?استكشاف أخطاء Job محليًا باستخدام إعداد UV أو Docker المحلي لديك:
hf jobs uv run ...->uv run ...hf jobs run ...->docker run ...
قد يشير رسالة الحالة إلى “Job timeout”: وهذا يعني أن المهمة لم تكتمل في الوقت المحدد قبل انتهاء المهلة (المهلة الافتراضية هي 30 دقيقة) ولذلك تم إيقافها.
في هذه الحالة، عليك تحديد مهلة أعلى، باستخدام --timeout في سطر الأوامر، على سبيل المثال
hf jobs uv run --timeout 3h ...إعادة تشغيل مهمة
استخدم hf jobs rerun لبدء مهمة جديدة باستخدام الإعدادات المحفوظة لمهمة موجودة، بما في ذلك أسرارها ونوع العتاد:
>>> hf jobs rerun <job_id>يتمتع كل Job جديد بمعرّف خاص به. في Python، استخدم rerun_job.
إلغاء المهام
استخدم زر “إلغاء” في صفحة المهمة لإلغاء مهمة:

أو في سطر الأوامر:
hf jobs cancel 693b06b8c67c9f186cfe239e

حدد namespace الخاص بمنظمتك لإلغاء مهمة تابعة لمنظمتك:
hf jobs cancel --namespace <my-org-name> <job_id>شريط قائمة MacOS
اعثر على قائمة مهامك في عميل MacOS hfjobs-menubar:

احصل على معلومات حول المهام، وراقب السجلات وإحصائيات استخدام الموارد:
