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

Вот трассировка стека, которая появляется в веб-интерфейсе 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)
статус возврата (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 ]

3 голосов
/ 09 июля 2010

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

eval "def get \ n устанавливает" yo '\ n end "

class Foo;end

Foo.new.get

=> yo

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

0 голосов
/ 09 июля 2010

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

...