2014-07-20 35 views
2

这里就是我想要做:Sidekiq:NoMethodError:未定义的方法`执行”

2.1.2 :001 > UpdateStyleRanks.perform_async 

以下是错误:

NoMethodError: undefined method `perform' for #<UpdateStyleRanks:0x00000002f5e388> 

这里是我的工人:

# app/workers/update_style_ranks.rb 
class UpdateStyleRanks 
    include Sidekiq::Worker 

    def perform 
    end 
end 

回答

0

工人没有命名要求。你可以这样做:

class Foo 
    include Sidekiq::Worker 
    def perform; end 
end 

我怀疑你只是需要重新启动Rails/Spring/Zeus来选择新的类。

+0

重新启动Sidekiq为我工作:) –

-2

您应该将文件重命名为update_style_rank_worker.rb
并将类名称更新为Updat eStyleRankWorker

+1

这是不正确的。 –

+0

也许不是要解决这个问题,而是良好的编码风格吧? – hamstar

0

如何重新启动在后台运行的heroku dyno?

heroku run:detached bundle exec sidekiq -e production

请问以下命令强制sidekiq皮卡新的类?

heroku ps:stop run

heroku run:detached bundle exec sidekiq -e production

0

在sidekiq的当前版本(4和5),我相信该溶液是调用perform_async和不执行。