일단 용어가 정확한지 모르겠습니다만 질문해봅니다.
100개의 업무가 있고 이걸 4개의 프로세스들에서 나누어 처리하려 합니다.
가장 쉬운 방법은 업무를 25개씩 균등하게 쪼개 각 프로세스에 전달하는 걸텐데요.
만약 각 업무에 걸리는 시간이 천차만별이고 예측할 수 없다면 상당한 비효율이 발생할 가능성이 있습니다.
어떤 프로세스는 25개 다 끝내고 놀고 있는데, 어떤 프로세스는 10개도 처리못하고 열일하고 있는..
그래서 균등하게 쪼개기보다는 놀고 있는 프로세스에 업무를 그때그때 전달하는 방식(동적 분배?)을 택하고 싶습니다.
Go에서는 채널의 성질을 이용한 정형화된 패턴으로 해결했는데요,
파이썬에서도 비슷한 방법이 있지 않을까 싶네요.
혹은 이런 거 아니더라도 어떻게든 효율적으로 프로세스가 다함께 열심히 일하는 방법이 있다면 알고 싶습니다.
읽을 거리가 있다면 던져주세요ㅠㅠ
rabbitmq celery - Make PHP Great Again!
ㄴ 감사합니다!!!
multiprocessing 모듈에서 queue 써