여러 프로세스 간에 결과 큐 공유

| | | | | | | | | | | | | |

multiprocessing 모듈에 대한 문서는 multiprocessing.Process로 시작된 프로세스에 큐를 전달하는 방법을 보여줍니다. 하지만 apply_async로 시작된 비동기 작업자 프로세스와 큐를 공유하려면 어떻게 해야 하나요? 동적 조인이나 다른 것이 필요하지 않습니다. 작업자가 결과를 베이스에 (반복적으로) 보고하는 방법일 뿐입니다.

import multiprocessing def worker(name, que): que. put("%d 완료" % name) if __name__ == "__main__": pool = multiprocessing.Pool(processes=3) q = multiprocessing.Queue()workers = pool.apply_async(worker, (33, q)) 

다음과 같이 실패합니다: RuntimeError: 대기열 개체는 상속을 통해서만 프로세스 간에 공유되어야 합니다. 이것이 의미하는 바를 이해하고 상속보다는 상속에 대한 조언을 이해합니다. 피클링/피클링 해제(및 모든 특수 Windows 제한 사항)가 필요합니다. 그러나 작동하는 방식으로 대기열을 전달하려면 어떻게 합니까? 예제를 찾을 수 없으며 실패한 여러 대안을 시도했습니다. 다양한 방법으로 도와주세요.