Я использую sidekiq Pro и обычно отслеживаю процесс моих работников в своем веб-интерфейсе. Всякий раз, когда возникает ошибка, задача перемещается на вкладку «Retries», где отображаются имя очереди и сообщение об ошибке. Дело в том, что я хотел бы добавить данные к этому сообщению (в частности, имя класса и номер строки), но я не нашел информацию об этом в любом месте. Возможно ли отредактировать/настроить отображение веб-интерфейса? Если это так, как?изменить или добавить данные в Sidekiq Web UI
0
A
ответ
0
Возможно ли отредактировать/настроить отображение веб-интерфейса? Если это так, как?
Да, это возможно. Один из способов получения дополнительной информации о мониторинге - создание пользовательской страницы пользовательского интерфейса. Вам понадобится определить модуль, содержащий обработку запросов логик и зарегистрировать этот модуль в качестве веб-страницы 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'
Другой вариант (хотя сильно не рекомендуется) может быть monkeypatch код Sidekiq UI себя. Взгляните на класс Sidekiq WebApplication, измените методы, в которых вы заинтересованы, и обновите файлы * .erb, расположенные в папке web/views.