mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 04:33:48 +08:00
d2ac7a9476
* SiteSetting uses DistributedCache which depends on MessageBus. Therefore, we need to initialize MessageBus first.
31 lines
915 B
Ruby
31 lines
915 B
Ruby
# load up git version into memory
|
|
# this way if it changes underneath we still have
|
|
# the original version
|
|
Discourse.git_version
|
|
|
|
reload_settings = lambda {
|
|
RailsMultisite::ConnectionManagement.each_connection do
|
|
begin
|
|
SiteSetting.refresh!
|
|
|
|
unless String === SiteSetting.push_api_secret_key && SiteSetting.push_api_secret_key.length == 32
|
|
SiteSetting.push_api_secret_key = SecureRandom.hex
|
|
end
|
|
rescue ActiveRecord::StatementInvalid
|
|
# This will happen when migrating a new database
|
|
rescue => e
|
|
STDERR.puts "URGENT: Failed to initialize site #{RailsMultisite::ConnectionManagement.current_db}:"\
|
|
"#{e.message}\n#{e.backtrace.join("\n")}"
|
|
# the show must go on, don't stop startup if multisite fails
|
|
end
|
|
end
|
|
}
|
|
|
|
reload_settings.call
|
|
|
|
if !Rails.configuration.cache_classes
|
|
ActiveSupport::Reloader.to_prepare do
|
|
reload_settings.call
|
|
end
|
|
end
|