여러 프로세스간에 객체를 쉽게 공유 할 수있게 해주는 루비 용 모듈이 있습니까? 나는 Python의 multiprocessing과 비슷한 것을 찾고 있는데, 이는 프로세스간에 공유 될 수있는 프로세스 안전 큐와 파이프를 지원한다.Ruby에서 여러 프로세스 작업하기
4
A
답변
1
스레드 간 대기열 인 Queue 또는 SizedQueue와 간단한 프로세스 간 통신을 제공하는 DRb를 결합하면 필요한 것을 제공해야합니다.
또한 또한 내가 당신이 루비 IO의 기능을 사용하여 원하는 것을 많이 할 수 있다고 생각 github
3
에서 호스팅되는 beanstalkd을 체크 아웃 할 수 있습니다; 스레드가 아닌 프로세스간에 공유하고 있습니까?
이 경우 IO.pipe가 필요한 작업을 수행합니다. 루비에는 내 지식에 따라 프로세스 간 대기열을 처리하는 기본 제공 방법이 없지만 FIFO를 사용할 수도 있습니다 (Unix를 사용하는 경우).
좀 더 세분화되고 좋은 스레딩 지원이 필요한 경우 JRuby를 사용하는 경우 java.util.concurrent를 피기 백 (piggyback) 할 수 있습니다. MRI는 매우 까다로운 스레딩/동시성 지원을 제공하므로 JRuby가 목표로 삼는다면 아마도 더 좋은 곳입니다.
2
이 라이브러리를 실행했지만 아직 시도하지 않았습니다.
Parallel :: ForkManager - 간단한 병렬 처리 포크 관리자입니다.
것은 나는 펄 및 루비 모두 사용했습니다. 끝내주는 괴물이야. – gdanko