Sha256: 5128d6eb216f682c0b899f4f3fa4abd57fc53e85d06d5ac8594e66118cc8dc84
Contents?: true
Size: 804 Bytes
Versions: 51
Compression:
Stored size: 804 Bytes
Contents
# frozen_string_literal: true module Motor module Configs module WriteToFile THREAD_POOL = Concurrent::FixedThreadPool.new(1) FILE_PATH = Motor::Configs::FILE_PATH module_function def call return if Rails.env.test? return if THREAD_POOL.queue_length.positive? THREAD_POOL.post do ActiveRecord::Base.logger.silence do write_with_lock end rescue StandardError => e Rails.logger.error(e) end end def write_with_lock File.open(Rails.root.join(FILE_PATH), 'w') do |file| file.flock(File::LOCK_EX) YAML.dump(Motor::Configs::BuildConfigsHash.call, file) file.flock(File::LOCK_UN) file end.close end end end end
Version data entries
51 entries across 51 versions & 1 rubygems