views:

60

answers:

2

Here is the stack trace which appears on resque-web interface: http://gist.github.com/396893
There you can check some gem versions that I was using.
Now I have made some upgrades trying to solve the problem, here are the current gem versions:

redis (2.0.3)
redis-namespace (0.5.0)
redisk (0.2.1)
resque (1.9.5)
resque-scheduler (1.9.2)
resque-status (0.1.4)

I have also wrote a very simple worker to discard any programming mistakes on my part, but also without any success. The test worker code is (though the bug occurs with any code using resque-status I have tried):

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

(The appropriate initializer is being loaded in rails environment initialization).

A: 

Maybe something with the IIS config?

joaomilho
+2  A: 

No, it's not about IIS. It's about Vlad. Vlad defines a method "get" by eval on rake_remote_task.rb (line ~12). This creates a "get" method in the context of Object. Since the Redis "get" method is not defined (it is called by method_missing) it runs Vlad method. Look:

eval "def get\n puts 'yo'\n end"

class Foo; end

Foo.new.get

=> yo

Weird ain't?

joaomilho
ok, the IIS part was just a joke.
Diogo Biazus