我试图使用sidekiq在Hanami应用上异步发送电子邮件。这是我的工人阶级:
# lib/myapp/workers/async_mailers.rb
class AsyncMailer
include Sidekiq::Worker
def perform(mail_type)
...
# send mail
...
end
end
但是当Sidekiq试图启动工作时它会失败并给出以下信息:
WARN: NameError: uninitialized constant MailWorker
我在我的Procfile中使用以下命令运行sidekiq:
bundle exec sidekiq -e development -r ./config/environment.rb
似乎sidekiq无法找到我的lib文件夹。我对Hanami很新,可能忘了在某个地方添加一些配置,但我还是无法弄清楚要做什么才能解决这个问题。
答案 0 :(得分:3)
在hanami comunity chat中进行一些挖掘,我最终发现用hanami调用sidekiq的正确方法是使用boot.rb
文件进行配置。所以你应该像这样运行它:
bundle exec sidekiq -e development -r ./config/boot.rb
答案 1 :(得分:0)
-r ./config/boot.rb
选项启动sidekiq服务器:
https://github.com/hanami/contributors/blob/master/Procfile#L2