Почему я получаю слишком большой уровень стека при запуске задания с использованием resque-status?

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

Redis (2.0.3)
redis-namespace (0.5.0)
Redisk (0.2.1)
Resque (1.9.5)
Resque-планировщик (1.9.2)
Resque-статус (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).

2 ответа

Решение

Нет, дело не в IIS. Это о Владе. Влад определяет метод "get" с помощью eval на rake_remote_task.rb (строка ~12). Это создает метод "get" в контексте Object. Так как метод get в Redis не определен (он вызывается методом method_missing), он запускает метод Vlad. Посмотрите:

eval "def get \ n ставит 'yo'\n end"

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

Foo.new.get

=> йо

Странно не так ли?

Может быть, что-то с конфигом IIS?

Другие вопросы по тегам