좋은 모니터링/관리 인터페이스를 갖춘 좋은 대기열 처리 도구/라이브러리가 있습니까?

좋은 모니터링/관리 인터페이스를 갖춘 좋은 대기열 처리 도구/라이브러리가 있습니까?

이와 같은 파이프라인을 통해 많은 수의 파일을 변환하는 실험을 실행하려고 합니다. A와 B는 파일을 입력으로 사용하고 stdout을 통해 파일이나 일부 텍스트를 생성합니다. C는 이러한 입력을 받아 데이터베이스에 저장합니다. (A, B, C는 서버가 아닌 로컬 CLI 프로그램입니다.)

File ---------> A ----->
          |                C   ---> Database
          +---> B ----->

제 생각에는:

  • 수천 개의 파일을 대기열에 추가하고 이 파이프라인을 통해 병렬로 처리합니다.
  • 웹 UI(또는 인간 친화적인 CLI)를 사용하면 다음을 수행할 수 있습니다.
    • 진행 상황 모니터링, 즉 처리/실패한 작업 수(작업 = 입력 파일당 위 파이프라인의 인스턴스)
    • 실패한 작업(입력, 오류 로그 등) 확인
    • 실패한 작업을 수동으로 다시 대기열에 추가(자동 재시도는 필요하지 않음)
    • (선택 사항) 일시 중지/재개/큐 비우기(진행 중인 작업을 일시 중지할 필요 없음)

(각 작업 내의 A와 B는 병렬로 실행될 필요가 없으며 작업 스케줄러는 파이프라인의 구조를 알 필요가 없습니다. 파일 이름을 형식으로 사용하는 간단한 순차 bash 스크립트로 전체 파이프라인을 작성할 수 있습니다. 인수, 각 입력 파일에 대해 스크립트만 정렬하면 됩니다)

이 사용 사례에 적합한 무료 오픈 소스 CLI 프로그램이나 라이브러리(가급적 Python)가 있습니까?

Airflow를 확인해 보니 단일 DAG를 통해 여러 파일을 처리하기 위한 것이 아니라 완전히 동일한 정적 작업(DAG)을 반복적으로 실행하기 위한 것 같습니다. 저도 Dramatiq을 시도했지만 허용되지 않는 것 같습니다. 실패한 작업을 쉽게 다시 실행할 수 있습니다(어쩌면 이는 RabbitMQ의 한계일 수도 있습니다).

저는 이러한 도구에 대해 잘 알지 못해서 어리석은 질문을 해서 죄송합니다.

관련 정보