Изменить или добавить данные в Sidekiq Web UI

Я использую Sidekiq Pro и обычно отслеживаю процессы своих рабочих в их веб-интерфейсе. Всякий раз, когда возникает Ошибка, задача перемещается на вкладку "Повторные попытки", где отображаются имя очереди и сообщение об ошибке. Дело в том, что я хотел бы добавить данные к этому сообщению (в частности, имя класса и номер строки), но я нигде не нашел информации об этом. Можно ли редактировать / настраивать отображение веб-интерфейса? Если это так, то как?

1 ответ

Можно ли редактировать / настраивать отображение веб-интерфейса? Если это так, то как?

Да, это возможно. Одним из способов получения дополнительной информации о мониторинге является создание пользовательской страницы пользовательского интерфейса. Вам нужно определить модуль, содержащий логику обработки запросов, и зарегистрировать этот модуль как веб-страницу 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'

Другим вариантом (хотя настоятельно не рекомендуется) может быть установка самого кода Sidekiq UI. Взгляните на класс Sidekiq WebApplication, измените методы, которые вас интересуют, и обновите в соответствии с файлами *.erb, расположенными в папке web / views.

Другие вопросы по тегам