2014-01-20 3 views
1

대기열의 무게에는 제한이 있습니까? 문서에서 명확하지 않습니다.Sidekiq 큐의 무게 제한

내가 알기로, often 대기열은 default 대기열의 2 배, seldom 대기열의 4 배 이상 확인됩니다. 가중치가 100 인 대기열을 추가하려면 어떻게해야합니까?

:queues: 
- [often, 7] 
- [default, 5] 
- [seldom, 3] 

답변

9

대기열 무게는 제안대로 y = 2x을 따르지 않습니다. 가중치는 다음 작업이 대기열에서 꺼내 질 확률을 나타냅니다. 예를 들어 다음을 보자이에서

:queues: 
- [double, 12] 
- [single, 6] 
- [half, 3] 

을, 다음 작업은 double에서 오는 57 %의 확률로, single에서 오는 29 %의 확률로, 그리고 half에서 오는 14 %의 확률을 가지고있다. 이 설정에 가중치가 100 인 대기열을 추가 한 경우 새 100 대기열에서 다음 작업의 82 %, double의 10 %, single의 5 % 및 0이 아닌 약 2.5 % half.

아니요은 작업이 실제로 실행되거나 수행되는 빈도를 제어하지만 어떤 대기열이 선택되는지 확인해야합니다. 예를 들어 대기열이 많으면 빠르게 실행해야하는 드문 작업이있는 "긴급"대기열을 구성하면 작업자가 기본 구성보다 작업에 비해 더 많은 폴링을 수행하게됩니다.

우선 순위가 낮고 장기 실행되는 작업이 우선 순위가 높은 빠른 작업을 방해하지 않게하려는 경우 대기열 가중치를 조정하는 대신 각 인스턴스에 대해 전용 인스턴스를 실행하는 것이 좋습니다 .