class Fluent::Plugin::OSSOutput::LZOCompressor

This class uses lzop command to compress chunks.

Public Instance Methods

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

  res = system "lzop #{@command_parameter} -c #{path} > #{file.path}"
  unless res
    log.warn "failed to execute lzop command, status = #{$?}"
    raise Fluent::Exception, "failed to execute lzop 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_lzo.rb, line 10
def configure(conf)
  super
  check_command('lzop', 'LZO')
end
content_type() click to toggle source
# File lib/fluent/plugin/oss_compressor_lzo.rb, line 19
def content_type
  'application/x-lzop'.freeze
end
ext() click to toggle source
# File lib/fluent/plugin/oss_compressor_lzo.rb, line 15
def ext
  'lzo'.freeze
end