2016-08-30 4 views

답변

0

단일 프로세스 사례와 다중 프로세스 사례의 두 가지 경우를 고려해야합니다.

다중 프로세스 케이스는 여러 개의 Ruby 프로세스를 사용하기 위해 만들어진/조정 된 서버를 Rails에서 사용할 때 발생합니다.

서버, 나는 등등에 WEBrick, 유니콘, 승객, 푸마, ... 두 경우 모두

을 의미, 중복은 뮤텍스 전에 간주됩니다.

단일 프로세스의 경우 overlap => false이 먼저 실행되고 스케줄러는 들어오는 겹치는 작업을 건너 뜁니다. 뮤텍스는 (작업이 겹치지 않는 경우) 고려되며 뮤텍스가 동일한 작업의 인스턴스 또는 동일한 뮤텍스를 가리키는 작업의 인스턴스에 의해 해제 될 때까지 작업을 대기 상태로 만들 수 있습니다. 여러 프로세스 경우

, 당신은 로컬 루비 프로세스에 그들이, 동안, 존중하지 할 루비 프로세스의 각각 overlap을 표시 mutex 힘의 스케줄러를 가지고 결국,하지만이 있기 때문에 수 ...

여러 개의 Ruby 프로세스를 제공하는 서버가 있고 해당 작업에서 단일 rufus-scheduler를 사용하려면 https://github.com/jmettraux/rufus-scheduler#lockfile--mylockfiletxthttps://github.com/jmettraux/rufus-scheduler#scheduler_lock을 읽어야합니다. 이 주제에 전념하는 여러 가지 스택 오버 플로우 질문.