Dagster 잡(Job)

Dagster 잡(Job)

잡(job)은 Dagster에서 에셋이나 그래프(ops의 GraphDefinition) 중 실행할 부분을 선택해 묶은 실행 단위예요. 잡은 Dagster에서 실행의 주된 형태로, 스케줄·센서가 실제로 트리거하는 대상이기도 해요.

출처: Dagster Jobs

잡의 역할

잡은 두 가지를 재료로 만들 수 있어요.

  • 에셋의 선택(selection) — 여러 에셋 중 특정 에셋만 골라 실행하는 잡
  • 그래프(GraphDefinition) — 여러 ops를 엮은 DAG를 실행하는 잡

에셋 중심으로 설계했다면 그래프를 직접 다루지 않아도 되고, 잡으로 실행할 에셋 집합을 골라 쓰면 돼요.

잡과 함께 쓰이는 개념

잡은 파이프라인 실행과 관련된 여러 엔티티와 관계를 맺어요.

  • config — 잡이 사용할 구성 스키마를 지정할 수 있어요.
  • 스케줄 — 잡을 정해진 시각에 실행해요.
  • 센서 — 외부 이벤트에 반응해 잡을 실행해요.
  • 리소스 — 잡 실행 중 외부 연결을 주입해요.

또한 잡은 정의된 전체가 배포되도록 최상위 Definitions 객체에 추가돼요.

실행과 데코레이터

잡은 보통 @dg.job 데코레이터로 정의해서, 실행할 에셋이나 ops 그래프를 지정해요. 실행하면 잡 런(job run)이 만들어지고, 그 런의 상태·메타데이터는 Dagster UI에서 확인할 수 있어요.

잡 하나를 여러 설정(config)으로 재사용하면, 같은 로직을 서로 다른 파라미터로 여러 번 실행해 다양한 목적에 활용할 수 있어요.

더 알아보기