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
|
end
|
||||||
|
|
||||||
def instance_meta
|
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
|
end
|
||||||
|
|
||||||
def chatwoot_version
|
def chatwoot_version
|
||||||
@ -53,7 +58,8 @@ class SuperAdmin::InstanceStatusesController < SuperAdmin::ApplicationController
|
|||||||
@metrics["Redis 'maxmemory' setting"] = redis_server['maxmemory']
|
@metrics["Redis 'maxmemory' setting"] = redis_server['maxmemory']
|
||||||
@metrics["Redis 'maxmemory_policy' setting"] = redis_server['maxmemory_policy']
|
@metrics["Redis 'maxmemory_policy' setting"] = redis_server['maxmemory_policy']
|
||||||
end
|
end
|
||||||
rescue Redis::CannotConnectError
|
rescue StandardError => e
|
||||||
|
Rails.logger.warn "Redis status check failed: #{e.message}"
|
||||||
@metrics['Redis alive'] = false
|
@metrics['Redis alive'] = false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -77,7 +77,7 @@ class Inbox < ApplicationRecord
|
|||||||
has_one :agent_bot, through: :agent_bot_inbox
|
has_one :agent_bot, through: :agent_bot_inbox
|
||||||
has_many :webhooks, dependent: :destroy_async
|
has_many :webhooks, dependent: :destroy_async
|
||||||
has_many :hooks, dependent: :destroy_async, class_name: 'Integrations::Hook'
|
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
|
# Jasmine
|
||||||
has_one :jasmine_inbox_config, class_name: 'Jasmine::InboxConfig', dependent: :destroy
|
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/lib')
|
||||||
config.eager_load_paths << Rails.root.join('enterprise/listeners')
|
config.eager_load_paths << Rails.root.join('enterprise/listeners')
|
||||||
# rubocop:disable Rails/FilePath
|
# 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
|
# rubocop:enable Rails/FilePath
|
||||||
# Add enterprise views to the view paths
|
# Add enterprise views to the view paths
|
||||||
config.paths['app/views'].unshift('enterprise/app/views')
|
config.paths['app/views'].unshift('enterprise/app/views')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user