2014-02-20 4 views
1

우리는 Rails 응용 프로그램에서 Resque를 사용하여 백그라운드 작업을 처리합니다 (우리는 Resque Scheduler 및 Resque Status도 사용함).Resque 작업을 보는 방법

대기열에서 처리되지 않는 작업이 있지만 그 작업에 대한 세부 정보는 볼 수 없습니다.

내가 레디 스-CLI를 사용하는 경우 - 나는 작업의 세부 사항을 뽑을 수 : 그것에서의이 클래스 이름 UUID 및 매개 변수 만이 아니다 대기 무엇 타임 스탬프를 표시합니다

get "resque:status:bd2209c9......" 

. 실행 된 작업에서 동일한 작업을 수행하면 클래스 이름, 메시지 등을 볼 수 있습니다.

실행 대기중인 작업의 클래스 이름을 찾을 수있는 방법이 있습니다.

감사합니다.

+0

당신은 resque-web을 시도 했습니까 – Viren

답변

5

그래서 뒷조사 후 :

  • Resque 작업의 모든 각 큐에 대한 레디 스 목록에 앉아
  • 자신의 UUID를 사용하여 목록의 요소에 얻기의 방법은 정말 없다

당신은 전체 목록 (또는 일부)를 볼 수 있지만 :

# This works for Resque 1.25.0 
Resque.redis.lrange('queue:QUEUE_NAME', 0, -1) 

문자열 배열을 반환합니다 (인코딩 된 JSON). 첫 번째 항목을 디코딩하려면 :

job = Resque.redis.lrange('queue:QUEUE_NAME', 0, 0).first 
h = Resque.decode(job) 

그러면 재생할 해시가 제공되지만 목록을 보면 클래스 이름을 볼 수 있습니다. 그것은 내가보고있는 줄이 꽤 작았 다.

더 나은 방법이있을 수 있지만이를 발견했습니다.

+1

다음과 같이 대기열에서 첫 번째 작업을 얻을 수도 있습니다 : Resque.list_range ('queue : QUEUE_NAME') – nimblegorilla