Изменить или добавить данные в 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.