2013-08-06 4 views
3

실행할 작업이 있습니다. 나는 명령을 내림으로써 대기열에 내 작업을 대기 행렬에 넣었다 : Resque.enqueue("QUEUE", params)대기열에서 작업을 선택하도록 작업자를 실행하지 않음 - 레일

작업을 대기열로 푸시한다. localhost : 3000/resque로 resque 인터페이스를 실행 해 보았습니다. 그것은 나에게 보류중인 일자리를 보여 주었다 .. 그러나 그것은 또한 아무런 작업자가 없다는 것을 보여준다. 나는 rake 작업을 실행하여 작업자를 명령으로 시작했습니다 (QUEUE='*' bundle exec rake resque:work). 내 redis 인스턴스는 Resque.redis = #<Redis::Namespace:0x007f82183d0120 @namespace=:resque, @redis=#<Redis client v2.2.2 connected to redis://localhost:6379/0 (Redis v0.07)>>입니다.

나는 내가 그 레이크 작업을 실행하려고 할 때뿐만 아니라 어떤 오류가 발생하지 말아 ..

+0

어떤 버전의 resque이고이 Resque.enqueue ([Some Class], params)를 Resque.enqueue (Archive, self.id, branch)와 같이 호출 해보십시오. 여기서 Archive는 worker 클래스입니다 – Viren

+0

Resque verison v1.20.0입니다. 나는 그것을 시험해 볼 것이다. 감사 – nizha

답변

0

이 오래 그러나 희망이 여기에 실수를 한단다 누구든지 도움이 될 수 있습니다 .. 추가 정보가 필요하면 알려 주시기 바랍니다.

resque-lock 또는 resque-queue-lock을 사용하는 경우 대기열이 잠겨있을 수 있으며 잠금을 해제하기 전에 프로세스가 종료 될 수 있으므로 대기열이 해제 될 수 있습니다. 우리의 경우

, 우리는 위의 당신이 찾아 정확한 문자열이있는 모든 잠금

Resque::Plugins::Queue::Lock.all_queue_locks 

찾을 수 그리고 우리는 제거하고 단지 레디 스

Resque.redis.del(the_key_name) 

the_key_name에서 키를 삭제해야 할 것을 찾기 이전 단계.

관련 문제