我在我的一个项目中使用Sidekiq。现在我需要清除队列,
RetrySet
,更具体。
关注Sidekiq的Github手册中的this page,这应该有效:
Loading development environment (Rails 4.2.1)
>> Sidekiq::RetrySet.new.clear
NameError: uninitialized constant Sidekiq::RetrySet
但事实并非如此。 Sidekiq本身似乎已被加载:
>> Sidekiq
=> Sidekiq
我在这里做错了什么?
编辑:
使用Sidekiq版本3.3.4
答案 0 :(得分:4)
看起来您需要明确要求api库。
require 'sidekiq/api'
有关详情https://github.com/mperham/sidekiq/issues/1732
,请参阅此处请参阅https://github.com/mperham/sidekiq/blob/master/lib/sidekiq/api.rb#L612
继承解释
class SortedSet
...
def clear
...
end
end
class JobSet < SortedSet
...
end
class RetrySet < JobSet
...
end
然而,在我的rails控制台中,它无需我需要库。这已经是必需的。见
> require 'sidekiq/api'
=> false
我使用Sidekiq 4.0.1
> Sidekiq::VERSION
=> "4.0.1"