代码之家  ›  专栏  ›  技术社区  ›  Diogo Biazus

为什么我在使用Resque状态触发作业时堆栈级别太深?

  •  1
  • Diogo Biazus  · 技术社区  · 15 年前

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

    雷迪斯(2.0.3)
    Redis命名空间(0.5.0)
    重新磁盘(0.2.1)
    RESK(1.9)
    重新调整计划程序(1.9.2)
    重新拧紧状态(0.1.4)

    我还写了一个非常简单的工作人员来丢弃我这方面的任何编程错误,但也没有任何成功。测试工作者代码是(尽管我尝试过的任何代码都会出现此错误):

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

    (正在Rails环境初始化中加载相应的初始值设定项)。

    2 回复  |  直到 15 年前
        1
  •  3
  •   joaomilho    15 年前

    不,不是关于IIS的。是关于弗拉德的。VLAD通过rake_remote_task.rb(第12行)上的eval定义了一个方法“get”。这将在对象的上下文中创建一个“get”方法。由于没有定义redis“get”方法(它是由方法调用的),因此它运行VLAD方法。看:

    eval“def get \n puts'yo'\n end”

    类目标

    获得新的

    =哟

    怪异不是吗?

        2
  •  0
  •   joaomilho    15 年前

    可能是使用了IIS配置?

    推荐文章