필자는 많은 종속 작업 (데이터 가져 오기, 변환 등)이 필요한 데이터웨어 하우징 시스템을 유지 관리하고 있습니다. 나는 리눅스의 crontab
작업 간의 의존성이 복잡해지기 전까지는이를 관리해야합니다.
기본적으로 나는 몇 가지를 찾고있다. cron
대체는 다음 시나리오에서 도움이됩니다.
작업 A를에서 실행하십시오.
00:05
(쉬운). 일반적으로 이것이 가져 오기 작업입니다.작업 A가 완료되면 작업 B, C, D가 실행되도록 예약하십시오. 작업 D는 작업 A가 완료된 후 (부하 분산시) 30 분만 실행됩니다. 이들은 변환 작업입니다.
작업 E는 B, C, D 모두 완료되면 실행됩니다. 일반적으로 집계 된 데이터를 웹 프런트 엔드 데이터베이스로 가져 오는 작업입니다.
이들 모두는 동일한 노드에서 발생합니다.
토폴로지 그래프처럼 보입니다.
A--> B -------------->---> E
\-> C -------------/ /
\-> (delay 30mins) -> D
이것을 지원하는 간단한 리눅스 기반 도구가 있습니까? 나는 들여다 보았다. 에어 비앤비의 크로노스 그러나 그것은 나의 필요에 과잉으로 보인다.
편집 : 위의 시나리오는 상황을 단순화 한 버전입니다. 우리에게는 훨씬 더 많은 일자리가 있으며 의존성은 훨씬 더 복잡합니다. 그래서 저는 각 시나리오를 맞추기 위해 case-by-case bash 스크립트보다 "cron on steroid"를 찾고 있습니다.