Я пишу плагин Healthcheck для нашего экземпляра пространства архива в форме плагина архива пространства.Это приложение Jruby, и инструкция для плагинов похожа на Ruby on Rails.Это выглядит достаточно просто в приложении rails, но когда я следовал документации плагинов, но он все еще не работает, может кто-то направить меня в правильном направлении, мне просто нужно иметь Url для архивного пространства: / plugins / healthcheck /, чтобы попасть в URL интерфейса архивного пространства,если он отвечает 200 ответом, то на странице указывается сообщение об успехе в html.Ниже приведены фрагменты кода, любая помощь приветствуется!
-plugins
-healthcheck
-backend
-healthcheck. rb
-frontend
-controller
- healthcheck_controller.rb
healthcheck.rb
class ArchivesSpaceService < Sinatra::Base
Endpoint.get('/healthcheck')
.returns([200, "{'reply', 'status:ok'}"]) \
end
healthcheck_controller.rb
require 'net/http'
require 'socket'
class ApplicationController < ActionController::Base
def healthcheck
hostname = "status of server " + Socket.gethostname
uri = 'http://example.com/index.html'
status_message = "System OK"
datetime = Time.now
begin
res = Net::HTTP.get_response(URI(uri))
status_code = res.code.to_i
if status_code > 399
status_code = 424
status_message = "One or more services are currently impacted"
img = "/img/fail.png"
else
img = "/img/pass.png"
end
render text: "<h>#{hostname} #{status_code} </h>ArchivesSpace Ok?:<br><img src='#{img}'> #{uri}<br><br>status:ok<br>" , status: status_code
end
end
end