1

这是出现在 resque-web 界面上的堆栈跟踪:http: //gist.github.com/396893
在那里你可以检查我正在使用的一些 gem 版本。
现在我做了一些升级来解决这个问题,这里是当前的 gem 版本:

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)

我还写了一个非常简单的工人来丢弃我的任何编程错误,但也没有任何成功。测试工作者代码是(尽管我尝试过使用 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 环境初始化中加载)。

4

2 回答 2

3

不,这与 IIS 无关。这是关于弗拉德的。Vlad 在 rake_remote_task.rb (第 ~12 行)上通过 eval 定义了一个“get”方法。这会在 Object 的上下文中创建一个“get”方法。由于未定义 Redis“get”方法(由 method_missing 调用),它运行 Vlad 方法。看:

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

Foo类;结尾

Foo.new.get

=>哟

是不是很奇怪?

于 2010-07-09T19:51:21.040 回答
0

也许与 IIS 配置有关?

于 2010-07-09T18:14:29.540 回答