Rails: NameError: uninitialized constant Sidekiq::RetrySet
Rails: NameError: uninitialized constant Sidekiq::RetrySet
我在我的一个项目中使用 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
看来您需要明确要求 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"
我在我的一个项目中使用 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
看来您需要明确要求 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"