mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-02 12:08:01 +00:00
* feat: add chatwoot instance status in superadmin * feat: add redis metrics to instance health page * chore: fix rubocop * chore: rescue redis no connection * chore: add rspec * chore: refactor * feat: add instance health to /api * chore: rescue postgres * chore: fix spec
26 lines
643 B
Ruby
26 lines
643 B
Ruby
class ApiController < ApplicationController
|
|
skip_before_action :set_current_user, only: [:index]
|
|
|
|
def index
|
|
render json: { version: Chatwoot.config[:version],
|
|
timestamp: Time.now.utc.to_formatted_s(:db),
|
|
queue_services: redis_status,
|
|
data_services: postgres_status }
|
|
end
|
|
|
|
private
|
|
|
|
def redis_status
|
|
r = Redis.new(Redis::Config.app)
|
|
return 'ok' if r.ping
|
|
rescue Redis::CannotConnectError
|
|
'failing'
|
|
end
|
|
|
|
def postgres_status
|
|
ActiveRecord::Base.connection.active? ? 'ok' : 'failing'
|
|
rescue ActiveRecord::ConnectionNotEstablished
|
|
'failing'
|
|
end
|
|
end
|