以下是我要做的事情:
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 :(得分:0)
工人没有命名要求。你可以这样做:
class Foo
include Sidekiq::Worker
def perform; end
end
我怀疑你只需要重新启动Rails / Spring / Zeus来接收新类。
答案 1 :(得分:0)
如何重新启动在后台运行的heroku dyno?
heroku run:detached bundle exec sidekiq -e production
以下命令会强制sidekiq获取新类吗?
heroku ps:stop run
heroku run:detached bundle exec sidekiq -e production
答案 2 :(得分:0)
在sidekiq(4和5)的当前版本中,我认为解决方案是调用perform_async而不执行。
答案 3 :(得分:-2)
您应该将文件重命名为update_style_rank_worker.rb
和UpdateStyleRankWorker的类名