Почему я слишком глубоко получаю уровень стека, вызывая работу, используя статус Resque?

StackOverflow https://stackoverflow.com/questions/3105384

Вопрос

Вот трассировка стека, которая появляется на интерфейсе Resque-Web: http://gist.github.com/396893
Там вы можете проверить некоторые версии GEM, которые я использовал.
Теперь я сделал несколько обновлений, пытаясь решить проблему, вот текущие версии GEM:

Redis (2.0.3)
Redis-inamespace (0,5,0)
Изобрести (0,2,1)
Resque (1.9.5)
Resque-Scheduler (1.9.2)
Resque-Status (0,1,4)

Я также написал очень простого работника, чтобы отказаться от любых ошибок программирования с моей стороны, но также и без какого -либо успеха. Код тестового работника есть (хотя ошибка возникает с любым кодом с использованием Resque-Status, который я пробовал):

class SimpleStatusWorker < Resque::JobWithStatus
   def perform
     60.times do |i|
       sleep 1
       at(i,60,"At #{num} of #{total}")
     end
   end
 end

(Соответствующий инициализатор загружается в инициализацию среды Rails).

Это было полезно?

Решение

Нет, дело не в IIS. Это о Владе. VLAD определяет метод «получить» по eval на rafle_remote_task.rb (строка ~ 12). Это создает метод «получить» в контексте объекта. Поскольку метод Redis "Get" не определен (он вызывается методом_missing), он запускает метод VLAD. Смотреть:

Eval "def Get n ставит 'y' n end"

класс foo; конец

Foo.new.get

=> yo

Странно?

Другие советы

Может что -то с конфигурацией IIS?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top