Sidekiq:NoMethodError:undefined method 'perform'。

8

我要做的事情是:

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
4个回答

5

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

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

我猜您只需要重新启动 Rails/Spring/Zeus,即可使用新的类。

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而不是perform。

-2

你应该将文件重命名为update_style_rank_worker.rb,
并将类名改为UpdateStyleRankWorker。


1
也许这并不能解决问题,但这是良好的编程风格,对吧? - hamstar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接