【问题标题】:Sidekiq can't find worker class on Hanami appSidekiq 在 Hanami 应用程序上找不到工人阶级
【发布时间】:2018-01-18 17:26:24
【问题描述】:

我正在尝试使用 sidekiq 在 Hanami 应用程序上异步发送电子邮件。这是我的工人阶级:

# lib/myapp/workers/async_mailers.rb

class AsyncMailer
  include Sidekiq::Worker

  def perform(mail_type)
    ...
    # send mail
    ...
  end
end

但是当 Sidekiq 尝试启动 worker 时它失败并给出以下消息:

WARN: NameError: uninitialized constant MailWorker

我在我的 Procfile 中使用以下命令运行 sidekiq:

bundle exec sidekiq -e development -r ./config/environment.rb

sidekiq 似乎找不到我的 lib 文件夹。我对 Hanami 很陌生,可能忘记在某处添加一些配置,但我一直无法弄清楚该怎么做才能解决这个问题。

【问题讨论】:

    标签: ruby sidekiq hanami


    【解决方案1】:

    hanami comunity chat 中进行了一些挖掘,我最终发现使用hanami 调用sidekiq 的正确方法是使用boot.rb 文件进行配置。所以你应该像这样运行它:

    bundle exec sidekiq -e development -r ./config/boot.rb
    

    【讨论】:

      【解决方案2】:

      你是对的。只需使用 -r ./config/boot.rb 选项来启动 sidekiq 服务器:

      https://github.com/hanami/contributors/blob/master/Procfile#L2

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-17
        • 1970-01-01
        • 2018-01-02
        • 2017-05-20
        • 2017-02-23
        • 1970-01-01
        • 1970-01-01
        • 2014-05-19
        相关资源
        最近更新 更多