85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
# File 'lib/openc3/utilities/bucket_utilities.rb', line 85
def self.move_log_file_to_bucket(filename, bucket_key, metadata: {})
Thread.new do
client = Bucket.getClient()
orig_filename = nil
if File.extname(filename) != '.txt'
orig_filename = filename
filename = compress_file(filename)
bucket_key += '.gz'
end
retry_count = 0
begin
File.open(filename, 'rb') do |file|
client.put_object(bucket: ENV['OPENC3_LOGS_BUCKET'], key: bucket_key, body: file, metadata: metadata)
end
rescue => err
retry_count += 1
raise err if retry_count >= 3
Logger.warn("Error saving log file to bucket - retry #{retry_count}: #{filename}\n#{err.formatted}")
sleep(1)
retry
end
Logger.debug "wrote #{ENV['OPENC3_LOGS_BUCKET']}/#{bucket_key}"
ReducerModel.add_file(bucket_key)
File.delete(orig_filename) if orig_filename
File.delete(filename)
rescue => err
Logger.error("Error saving log file to bucket: #{filename}\n#{err.formatted}")
end
end
|