2017-01-15 13 views
0

일부 기능이 너무 오래 실행되지 않도록하기 위해 multiprocessing.Process을 사용하고 있습니다. 내가 애수를 자아내는 가락에 아무것도 찾을 수 없습니다멀티 프로세싱과 동일한 기능입니다. 패스의 폴리 우드 결합

나는,하지만 일부 기능이 부족한 것 같다 (때문에 표준 멀티 패키지는 할 수없는 일들을 처리하는 그것의 능력) 대신 파이썬의 multiprocessingpathos을 사용하고 싶습니다 timeout 인수와 함께 join을 허용합니다.

시간이 지나면 프로세스를 종료 할 수있는 종류가있을 것으로 기대하고 있습니다. 나는 pathos 저자 해요

+1

'concurrent.futures'를 보았습니까? –

+0

@RolandSmith 나는 이것이 존재한다는 것을 몰랐다. 그러나 대화 형 인터프리터에서는 문서에 따라 작동하지 않습니다. 이는 필자가 사용하기를 바라는 기능입니다. – user1999728

답변

3

(수 없으며, 대안은 매우 복잡한 것 같다 나는 윈도우를 사용하고 있기 때문에 간단한 대안 - - signal를 사용하여이). multiprocessing의 포크 인 multiprocess을 시도해 볼 수 있습니다 (아래에있는 것은 pathos입니다). pathos이 설치되어 있다면 이미 설치되어 있어야합니다.

당신은 Process로는 multiprocessing에서와 동일한 모든 기능을 가지고이 두 가지 방법으로, (플러스 dill에서 추가 직렬화 기능) 중 하나를 얻을 수 있습니다 :

>>> import pathos 
>>> pathos.helpers.mp.Process 
<class 'multiprocess.process.Process'> 
>>> import multiprocess 
>>> multiprocess.Process 
<class 'multiprocess.process.Process'> 

그래서, 어떤 개체가 multiprocessing에서 발견을 위와 같이 timeout 인수와 함께 찾을 수도 있습니다.

+0

고맙습니다. 제대로 기억한다면'pathos.helpers.mp'에 접근하려고 시도했지만'__file__' 속성은 원래'다중 처리 '로 되돌아 간 것처럼 보였습니다. 그래서 표준 파이썬 다중 처리 패키지에 대한 참조 일 뿐이라고 생각했습니다. – user1999728