【问题标题】:How to see Bullet logs in Sidekiq worker?如何在 Sidekiq 工作人员中查看子弹日志?
【发布时间】:2017-08-19 11:57:06
【问题描述】:

在 Sidekiq 工作进程中处理工作时,有什么方法可以查看 Bullet 日志?当我在 Sidekiq worker 中执行 N+1 查询时(通过 ActiveJob 队列适配器),我在 Rails 控制台和 Sidekiq 控制台中都看不到通常的 Bullet 日志。

【问题讨论】:

  • 你的子弹配置中有Bullet.rails_logger = true吗?
  • 是的,我已启用它。问题是当 Sidekiq 工作人员接管时,工作人员所做的任何事情都不会打印在 rails 服务器日志中。
  • 但是当我在 Rails 控制器中执行 N+1 查询时,在我实际调用工作人员之前,我可以像往常一样在 Rails 服务器中看到 Bullet 日志。
  • 还有解决方案吗? @MartinSvoboda
  • 我不记得解决了这个问题。 :(

标签: ruby-on-rails sidekiq rails-activejob bullet


【解决方案1】:

正如他们在docs 中解释的那样,您可以使用Bullet.profile

class ApplicationJob < ActiveJob::Base
  around_perform do |_job, block|
    Bullet.profile do
      block.call
    end
  end
end

【讨论】:

    猜你喜欢
    • 2013-01-18
    • 1970-01-01
    • 2013-07-10
    • 2018-11-05
    • 2013-02-02
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    相关资源
    最近更新 更多