【问题标题】:NameError using Rails, Sidekiq & Clockwork使用 Rails、Sidekiq 和 Clockwork 的 NameError
【发布时间】:2014-12-02 18:16:17
【问题描述】:

查看文档中的“示例clock.rb 文件”here,您可以看到我的代码完全遵循发条约定(?)。但是,我收到了这个似乎无法修复的错误。我尝试过对不同的变量进行复数和单数化。

`<module:Clockwork>': uninitialized constant Clockwork::Event::Manager (NameError)
    from /Users/MightyMouse/Desktop/DevBootcamp/phase-3/medmento/config/clock.rb:7:in `<top (required)>'
    from /Users/MightyMouse/.rvm/gems/ruby-2.0.0-p598/gems/clockwork-1.1.0/bin/clockwork:12:in `require'
    from /Users/MightyMouse/.rvm/gems/ruby-2.0.0-p598/gems/clockwork-1.1.0/bin/clockwork:12:in `<top (required)>'
    from /Users/MightyMouse/.rvm/gems/ruby-2.0.0-p598/bin/clockwork:23:in `load'
    from /Users/MightyMouse/.rvm/gems/ruby-2.0.0-p598/bin/clockwork:23:in `<main>'
    from /Users/MightyMouse/.rvm/gems/ruby-2.0.0-p598/bin/ruby_executable_hooks:15:in `eval'
    from /Users/MightyMouse/.rvm/gems/ruby-2.0.0-p598/bin/ruby_executable_hooks:15:in `<main>'

这是我的clock.rb 文件:

require_relative "../config/boot"
require_relative "../config/environment"

require 'clockwork'
require 'clockwork/database_events'

module Clockwork



  Clockwork.manager = Event::Manager.new
  sync_database_events model: ClockworkEvent, every: 1.minute do |model_instance|

    TwilioWorker.perform_async
  end


end

基本上,我希望 Clockwork 将 (1) 循环遍历每个 model_instance 如上所示,(2) 找到 frequency_quantityfrequency_period(它们共同构成“时间”)通过数据库关联,以及(3)在正确的“时间”调用TwilioWorker

我尝试用下面的代码替换该块。当我运行clock.rb 时,我可以接到来自 Twilio 的电话:

every(1.minutes, "twilio_call.job") { TwilioWorker.perform_async }

【问题讨论】:

    标签: ruby-on-rails sidekiq clockwork


    【解决方案1】:

    查看 Clockwork gem 模块结构。如果您尝试引用此文件:https://github.com/tomykaira/clockwork/blob/master/lib/clockwork/manager.rb 那么你需要使用

    Clockwork.manager = Manager.new

    (可能已经是默认值了)

    而不是

    Clockwork.manager = Event::Manager.new

    因为 Manager 类直接位于 Clockwork 模块中(您可能从

    Clockwork.manager = DatabaseEvents::Manager.new

    这是一种不同的情况,因为 Manager 在 Clockwork 模块中的 DatabaseEvents 模块中引用了不同的类。

    【讨论】:

      猜你喜欢
      • 2014-10-16
      • 2012-11-08
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 2018-08-29
      • 2013-10-17
      • 1970-01-01
      相关资源
      最近更新 更多