2011-08-27 2 views
0

나는 각자에게 인쇄 된 ID가 주어진 작업들을 묶어 놓았다. 제가 놀랍게 생각하는 것은 각기 다른 수면 상태의 140 개 작업을 대기열에 쌓아 놓았을 때 순차적으로 작업자의 결과를 볼 때입니다.Ruby Resque 근로자가 동시에 운영됩니까?

페이지 : 124 페이지 : 125 페이지 : 126 페이지 127 페이지 : 128 페이지 : 129 페이지 : 130 페이지 : 131 여기서 외부 HTTP API의 페이지를 잡아 당기는 일부 예시적인 출력은 페이지 : 132 페이지 : 133

각 페이지마다 다른 시간이 걸릴 수 있으므로이 순서가 바뀌지 않아야합니까?

답변

2

각 resque 작업자는 단일 스레드에서 실행됩니다. 주어진 대기열을 처리하는 하나의 대기열 작업자 만있는 경우 해당 대기열은 순차적으로 처리됩니다. 여러 대기업 직원이 하나의 대기열을 처리하는 경우 예상대로 결과가 잘못된 것으로 나타납니다.

+0

사이드 노트 : resque-pool gem은 out-of-the-box Resque 레이크 작업보다 훨씬 쉽게 작업 할 수있어 각각 여러 명의 작업자가있는 여러 큐를 관리합니다. – d11wtq