1

잠재적으로 서로 종속적 인 처리 작업을 동시에 처리 할 수있는 스레드 (또는 프로세스) 풀을 제공하는 Python 모듈을 구현하는 중입니다. 예를 들어 주문 관리 시스템의 경우 주문을하고 다른 주문을하고 2 번째 주문을 취소하고 3 번째 주문을 한 다음 첫 번째 주문을 취소 할 수 있습니다. 모든 주문의 게재 위치는 동시에 처리 할 수 ​​있으며, 그러나 취소는 각 주문과 동시에 발생할 수 없으며 주문 배치가 완료된 후에 이루어져야합니다. 이런 문제에 대한 좋은 범용 솔루션을 생각해 내 첫 오픈 소스로 사용하고 싶었습니다.의존성이있는 작업을위한 파이썬 멀티 스레딩/프로세싱 모듈

너무 많은 시간을 소비하기 전에이 같은 것이 있는지 이미 알고 싶었습니다. 누구든지이 작업을 수행하는 기존 Python 패키지를 알고 있습니까? 이것은 누구에게나 유용할까요?

+1

관심있는 분께 저는 GitHub에서이 프로젝트를 시작했습니다. - https://github.com/mikecoop83/pysequen – Mike

답변

1

예, 을 살펴보십시오. 스레드와 프로세스를 각각 TaskPoolPool까지 재사용하는 멀티 스레딩, 멀티 프로세싱 및 분산 컴퓨팅을위한 다른 스케줄러가 있습니다. 임의의 작업 종속성 (직접 비순환 그래프 - DAG)을 구축 할 수 있습니다. 하지만 취소 지원에 대해서는 잘 모르겠지만 직접 작업에 구현할 수는 있습니다.

+0

dask에 대한 정보를 제공해 주셔서 감사합니다. 내가 간략하게 읽은 것부터, 전체 DAG를 하나의 작업 세트 (종속성 포함)로 제출하여 실행될 것 같습니다. 이것은 생산자가 모든 의존성을인지하고있는 시나리오를 다룬다. 내가 구현하려고했던 것에서 생산자는 알지 못한다. 그러나 태스크는 다른 태스크와 동시에 실행할 수 있는지 "묻는다"는 "인터페이스"를 구현한다. 이렇게하면 제작자가 종속성을 알 필요가 없으며 스케줄러가 올바른 순서로 작업을 수행하도록 처리합니다. 말이 돼? – Mike

관련 문제