Ruby on rails 4 更改或向Sidekiq Web UI添加数据

Ruby on rails 4 更改或向Sidekiq Web UI添加数据,ruby-on-rails-4,sidekiq,worker,sidekiq-monitor,Ruby On Rails 4,Sidekiq,Worker,Sidekiq Monitor,我使用的是sidekiq Pro,通常在员工的Web UI上监视他们的流程。每当出现错误时,任务都会移动到“重试”选项卡,其中会显示队列名称和错误消息。问题是我想在这个消息中添加数据(特别是类名和行号),但我还没有在任何地方找到相关信息。是否可以编辑/配置Web UI显示?如果是这样,怎么办 是否可以编辑/配置Web UI显示?如果是这样的话, 怎么做 是的,这是可能的。实现附加监控信息的一种方法是构建自定义UI页面。您需要定义一个包含请求处理逻辑的模块,并将该模块注册为Sidekiq网页: m

我使用的是sidekiq Pro,通常在员工的Web UI上监视他们的流程。每当出现错误时,任务都会移动到“重试”选项卡,其中会显示队列名称和错误消息。问题是我想在这个消息中添加数据(特别是类名和行号),但我还没有在任何地方找到相关信息。是否可以编辑/配置Web UI显示?如果是这样,怎么办

是否可以编辑/配置Web UI显示?如果是这样的话, 怎么做

是的,这是可能的。实现附加监控信息的一种方法是构建自定义UI页面。您需要定义一个包含请求处理逻辑的模块,并将该模块注册为Sidekiq网页:

module WebAddition
  def self.registered(app)
    app.get('/desired_path') do
      # you can define @instance_variables for passing into template
      # Sidekiq uses erb for its templates so you should do it aswell
      erb File.read(path_to_desired_erb_file)
    end 
  end
end

# here we instruct Sidekiq to take our UI extension onboard
Sidekiq::Web.register WebAddition
# in case you want to provide localization, it's achieved here
Sidekiq::Web.locales << File.expand_path(File.dirname(__FILE__) + "/web/locales")
# the name of your tab (at the left hand) gonna be translated
# using the provided locale file (if any).
# right hand of the equation should be equal to the path you specified
# in registered() method
Sidekiq::Web.tabs['disappeared_jobs'] = 'desired_path'
模块添加
def自注册(应用程序)
app.get('/desired_path')do
#您可以定义@instance\u变量以传递到模板中
#Sidekiq使用erb作为模板,所以您也应该这样做
读取(所需erb文件的路径)
结束
结束
结束
#在这里,我们指示Sidekiq将我们的UI扩展带上
Sidekiq::Web.register WebAddition
#如果您想提供本地化,可以在这里实现
Sidekiq::Web.locales