현재 사용중인 풀에서 작업자 수를 변경하려고합니다. 내 현재의 생각이 문제는 그냥 그렇게 노동자와 손실 아직 some_infinite_generator에서받은되었고, 처리되지 않은 마지막 항목을 종료한다는 것입니다이동 중에 다중 처리 풀 작업자 수를 변경하는 방법
while True:
current_connection_number = get_connection_number()
forced_break = False
with mp.Pool(current_connection_number) as p:
for data in p.imap_unordered(fun, some_infinite_generator):
yield data
if current_connection_number != get_connection_number():
forced_break = True
break
if not forced_break:
break
입니다. 이 일을하는 표준 방법이 있습니까?
편집 : some_infinite_generator 내부에서 인쇄를 시도했는데 p.imap_unordered 요청이 처리되었습니다. 2 개의 풀 작업자가있는 1565 개 항목이 처리되기 전에도 생성기에서 요청한 항목 수를 어떻게 제한합니까? 위 코드를 사용하여 단 2 개 항목 만 연결하면 번호가 변경됩니다.