2013-08-06 1 views
3

У меня есть работа по поиску. Я попытался выполнить очередность моей работы в очереди, выполнив команду: Resque.enqueue("QUEUE", params)Resque not running работники для выбора заданий из очереди - Rails

Он подталкивает задание в очередь. Я попытался запустить интерфейс resque как localhost: 3000/resque. Это показало мне, что ожидающие работы должны быть взяты. Но это также показывает, что нет рабочего. Я выполнил задачу рейка, чтобы запустить работника по команде: (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)' где Архив здесь рабочий класс – Viren

+0

Resque verison v1.20.0. Я попробую это и посмотрю. благодаря – nizha

ответ

0

Это старый, но мы надеемся, что это может помочь, кто натыкается здесь.

Если вы используете resque-lock или resque-queue-lock, ваша очередь может быть заблокирована, и она может не быть выпущена, потому что процесс мог быть убит до освобождения блокировки.

В нашем случае, мы находим все замки

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

И найти тот, что нам нужно удалить и просто удалить ключ из Redis

Resque.redis.del(the_key_name) 

the_key_name выше точная строка вы найдете предыдущий шаг.