Jobs
Hub에서 Jobs를 관리하는 메서드에 대한 참조는 HfApi 문서 페이지를 확인하세요.
- Job 실행: run_job()
- 로그 가져오기: fetch_job_logs()
- 메트릭 가져오기: fetch_job_metrics()
- Job 검사: inspect_job()
- Job이 완료될 때까지 대기: wait_for_job()
- 작업 목록: list_jobs()
- 작업 취소: cancel_job()
- UV Job 실행: run_uv_job()
- Job에 마운트하기 위해 로컬 디렉토리를 동기화합니다: sync_job_volume()
데이터 구조
JobInfo
클래스 huggingface_hub.JobInfo
< source >( **kwargs )
매개변수
- id (
str) — Job ID입니다. - created_at (
datetime또는None) — Job이 생성된 시각. - started_at (
datetime또는None) — Job이 실행을 시작한 시점입니다. Job이 여전히 스케줄링 중인 경우 None입니다. - finished_at (
datetime또는None) — Job이 완료된 시점입니다. Job이 여전히 스케줄링 중이거나 실행 중이면 None입니다. - docker_image (
str또는None) — Job에 사용되는 Docker Hub의 Docker 이미지입니다. space_id가 대신 존재하는 경우 None일 수 있습니다. - space_id (
str또는None) — Job에 사용되는 Hugging Face Spaces의 Docker 이미지입니다. docker_image가 대신 존재하는 경우 None일 수 있습니다. - command (
list[str]또는None) — Job의 명령어, 예:["python", "-c", "print('hello world')"] - arguments (
list[str]또는None) — 명령에 전달되는 인자 - environment (
dict[str]또는None) — Job의 환경 변수를 딕셔너리로 나타냅니다. - secrets (
dict[str]또는None) — Job의 비밀 환경 변수(암호화됨). - flavor (
str또는None) — 하드웨어의 Flavor입니다. 가능한 값은JobHardware를 참고하세요. 예:"cpu-basic". - labels (
dict[str, str]또는None) — 작업에 연결할 라벨(키-값 쌍). - volumes (
list[Volume]또는None) — 작업 컨테이너에 마운트된 볼륨(버킷, 모델, 데이터셋, 스페이스). - status — (
JobStatus또는None): Job의 상태, 예:JobStatus(stage="RUNNING", message=None)가능한 stage 값은 JobStage를 참조하세요. - durations (
JobDurations또는None) — Job의 시간별 세부 정보입니다. SCHEDULING을 포함한 모든 job 상태에 존재합니다. - owner — (
JobOwner또는None): Job의 소유자, 예:JobOwner(id="5e9ecfc04957053f60648a3e", name="lhoestq", type="user") - initiator (
JobInitiator또는None) — Job을 트리거한 요소입니다. 예를 들어, cron으로 트리거된 실행의 경우JobInitiator(type="scheduled-job", id="...")입니다. - expose_urls (
list[str]또는None) — Job의 노출된 포트에 접근할 수 있는 공개 URL 목록(노출된 포트당 하나)입니다. 예:["https://687fb701029421ae5549d998--8000.hf.jobs"]. 포트가 노출되지 않은 경우None입니다. 포트가 공개되어 있지 않은 경우, 해당 URL에 접근하려면 Job의 namespace에 대한 읽기 권한이 있는 HF 토큰이 필요합니다. - ssh_url (
str또는None) — Job의 SSH 엔드포인트입니다. 예:"ssh://687fb701029421ae5549d998@ssh.hf.jobs". Job이ssh=True로 시작된 경우에만 존재합니다. 연결하려면 Job의 namespace에 대한 쓰기 권한과 Hub에 등록된 SSH 공개 키(https://huggingface.co/settings/keys)가 필요합니다. - network (
JobNetwork또는None) — Job이 참여한 Network 그룹과 해당 Job이 주장하는 별칭입니다. 예:JobNetwork(group="train", aliases=["master"]).network_group=없이 Job이 시작된 경우None입니다. - retry (
int또는None) — Job에 구성된 재시도 횟수(attempts - 1). - expose (
list[int]또는None) — Jobs 프록시를 통해 노출되는 모든 포트입니다. 공개 포트도 포함됩니다. - expose_public (
list[int]또는None) — 인증 없이 접근할 수 있는 공개 포트입니다.
Job에 대한 정보를 포함합니다.
예:
>>> from huggingface_hub import run_job
>>> job = run_job(
... image="python:3.12",
... command=["python", "-c", "print('Hello from the cloud!')"]
... )
>>> job
JobInfo(id='687fb701029421ae5549d998', created_at=datetime.datetime(2025, 7, 22, 16, 6, 25, 79000, tzinfo=datetime.timezone.utc), started_at=datetime.datetime(2025, 7, 22, 16, 6, 31, 79000, tzinfo=datetime.timezone.utc), finished_at=None, docker_image='python:3.12', space_id=None, command=['python', '-c', "print('Hello from the cloud!')"], arguments=[], environment={}, secrets={}, flavor='cpu-basic', labels=None, status=JobStatus(stage='RUNNING', message=None), durations=JobDurations(scheduling_secs=6, running_secs=2, total_secs=8), owner=JobOwner(id='5e9ecfc04957053f60648a3e', name='lhoestq', type='user'), initiator=JobInitiator(type='user', id='5e9ecfc04957053f60648a3e', name='lhoestq'), endpoint='https://huggingface.co', url='https://huggingface.co/jobs/lhoestq/687fb701029421ae5549d998')
>>> job.id
'687fb701029421ae5549d998'
>>> job.url
'https://huggingface.co/jobs/lhoestq/687fb701029421ae5549d998'
>>> job.status.stage
'RUNNING'JobOwner
JobNetwork
class huggingface_hub.JobNetwork
< source >( **kwargs )
Network group a Job이 참여했습니다.
JobStage
class huggingface_hub.JobStage
< source >( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )
Hub에서 Job의 가능한 상태를 나열합니다.
Possible values are: `COMPLETED`, `CANCELED`, `ERROR`, `DELETED`, `SCHEDULING`, `RUNNING`. Taken from https://github.com/huggingface/moon-landing/blob/main/server/job_types/JobInfo.ts#L61 (private url).JobStatus
클래스 huggingface_hub.JobStatus
< source >( stage: JobStagemessage: str | Noneexpose_urls: list[str] | Nonessh_url: str | None )
볼륨
class huggingface_hub.Volume
< source >( **kwargs )
매개변수
- type (
str) — 볼륨의 유형:"bucket","model","dataset"또는"space". - source (
str) — 소식 식별자, 예:"username/my-bucket"또는"username/my-model". - mount_path (
str) — 컨테이너 내부의 마운트 경로입니다. 예:"/data"./로 시작해야 합니다. - revision (
str또는None) — Git 리비전(레포지토리에서만 사용되며, 기본값은"main"입니다). - read_only (
bool또는None) — 읽기 전용 마운트. 리포지토리의 경우True로 고정되며, 버킷의 경우 기본값은False입니다. - path (
str또는None) — 마운트할 버킷/리포지토리 내부의 서브폴더 접두사입니다. 예:"path/to/dir".
Space 또는 Job 컨테이너에 마운트할 볼륨을 설명합니다.
Hub API에서 예상하는 JSON 페이로드로 직렬화합니다.
CLI에서 기대하는 형식으로 볼륨을 HF 마운트 URI로 반환합니다.