class Fluent::Plugin::OSSOutput::LZMA2Compressor

This class uses xz command to compress chunks.

Public Instance Methods

compress(chunk, file) click to toggle source
# File lib/fluent/plugin/oss_compressor_lzma2.rb, line 23
def compress(chunk, file)
  path = if @buffer_type == 'file'
           chunk.path
         else
           out = Tempfile.new('chunk-xz-out-')
           out.binmode
           chunk.write_to(out)
           out.close
           out.path
         end

  res = system "xz #{@command_parameter} -c #{path} > #{file.path}"
  unless res
    log.warn "failed to execute xz command, status = #{$?}"
    raise Fluent::Exception, "failed to execute xz command, status = #{$?}"
  end
ensure
  out.close(true) rescue nil unless @buffer_type == 'file'
end
configure(conf) click to toggle source
Calls superclass method
# File lib/fluent/plugin/oss_compressor_lzma2.rb, line 10
def configure(conf)
  super
  check_command('xz', 'LZMA2')
end
content_type() click to toggle source
# File lib/fluent/plugin/oss_compressor_lzma2.rb, line 19
def content_type
  'application/x-xz'.freeze
end
ext() click to toggle source
# File lib/fluent/plugin/oss_compressor_lzma2.rb, line 15
def ext
  'xz'.freeze
end