2014-09-24 1 views
0

대기열의 모든 작업을 삭제할 수 있기를 원하지만 대기열이 무엇인지 모릅니다. 나는 내 작업자의 방법을 수행 중이며 현재 작업이 어디에서 왔는지 대기열 인 "현재 대기열"을 가져와야합니다. 내가 사용하는이 시간 sidekiq/redis가있는 작업자의 수행 방법에서 현재 대기열을 가져올 수 있습니까?

는 :

require 'sidekiq/api' 
queue = Sidekiq::Queue.new 
queue.each do |job| 
    job.delete 
end 

난 그냥 일이다 "기본 큐"를 사용하기 때문이다.

하지만 지금은 많은 대기열을 사용할 예정이며 서버 부하 분산을 위해 많이 사용해야하므로 대기열을 하나만 지정할 수는 없습니다.

그래서 어떻게 우리가 수행하는 대기열을 얻을 수 있습니까?

xx.

답변

2

의도적으로 작업에 대한 직교 컨텍스트가 될 수 없습니다. 작업이 큐 이름을 알아야 할 경우 명시 적으로 인수로 전달하십시오.

가 훨씬 빠릅니다 :

Sidekiq::Queue.new.clear 
관련 문제