refactor: Ajusta o namespace de InboxAutomation, refina os caminhos de eager loading da aplicação enterprise e melhora a robustez do status da instância com verificação de connection_pool e tratamento de erro Redis mais abrangente.
This commit is contained in:
parent
0c9e59c499
commit
ccb28d8305
@ -20,7 +20,12 @@ class SuperAdmin::InstanceStatusesController < SuperAdmin::ApplicationController
|
||||
end
|
||||
|
||||
def instance_meta
|
||||
@metrics['Database Migrations'] = ActiveRecord::Base.connection_pool.migration_context.needs_migration? ? 'pending' : 'completed'
|
||||
context = if ActiveRecord::Base.respond_to?(:connection_pool)
|
||||
ActiveRecord::Base.connection_pool.migration_context
|
||||
else
|
||||
ActiveRecord::Base.connection.migration_context
|
||||
end
|
||||
@metrics['Database Migrations'] = context.needs_migration? ? 'pending' : 'completed'
|
||||
end
|
||||
|
||||
def chatwoot_version
|
||||
@ -53,7 +58,8 @@ class SuperAdmin::InstanceStatusesController < SuperAdmin::ApplicationController
|
||||
@metrics["Redis 'maxmemory' setting"] = redis_server['maxmemory']
|
||||
@metrics["Redis 'maxmemory_policy' setting"] = redis_server['maxmemory_policy']
|
||||
end
|
||||
rescue Redis::CannotConnectError
|
||||
rescue StandardError => e
|
||||
Rails.logger.warn "Redis status check failed: #{e.message}"
|
||||
@metrics['Redis alive'] = false
|
||||
end
|
||||
end
|
||||
|
||||
@ -77,7 +77,7 @@ class Inbox < ApplicationRecord
|
||||
has_one :agent_bot, through: :agent_bot_inbox
|
||||
has_many :webhooks, dependent: :destroy_async
|
||||
has_many :hooks, dependent: :destroy_async, class_name: 'Integrations::Hook'
|
||||
has_many :inbox_automations, dependent: :destroy_async, class_name: 'Captain::InboxAutomation'
|
||||
has_many :inbox_automations, dependent: :destroy_async, class_name: '::Captain::InboxAutomation'
|
||||
|
||||
# Jasmine
|
||||
has_one :jasmine_inbox_config, class_name: 'Jasmine::InboxConfig', dependent: :destroy
|
||||
|
||||
@ -42,7 +42,8 @@ module Chatwoot
|
||||
config.eager_load_paths << Rails.root.join('enterprise/lib')
|
||||
config.eager_load_paths << Rails.root.join('enterprise/listeners')
|
||||
# rubocop:disable Rails/FilePath
|
||||
config.eager_load_paths += Dir["#{Rails.root}/enterprise/app/*"]
|
||||
enterprise_app_paths = Dir["#{Rails.root}/enterprise/app/*"].reject { |path| %w[views javascript assets].include?(File.basename(path)) }
|
||||
config.eager_load_paths += enterprise_app_paths
|
||||
# rubocop:enable Rails/FilePath
|
||||
# Add enterprise views to the view paths
|
||||
config.paths['app/views'].unshift('enterprise/app/views')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user