Sha256: da2b0d4a889c50ee1a13fd2b9cc1557787a06aad5383dbb3bf6709bbbce284d6
Contents?: true
Size: 822 Bytes
Versions: 4
Compression:
Stored size: 822 Bytes
Contents
#!/usr/bin/env ruby # vim: set ft=ruby et sw=2 ts=2: require 'betterlog' require 'excon' lines = Integer(ENV.fetch('BETTERLOG_LINES', 1_000)) url = ENV.fetch('BETTERLOG_SERVER_URL') name = ENV['BETTERLOG_NAME'] redis = Redis.new(url: ENV.fetch('REDIS_URL')) logger = Betterlog::Logger.new(redis, name: name) quit = false [ :TERM, :INT, :QUIT ].each { |s| trap(s) { quit = true } } STDOUT.sync = true loop do count = 0 logger.each_slice(lines).with_index do |batch, i| count.zero? and print ?( count += batch.sum(&:size) attempt(attempts: 10, sleep: -60, reraise: true) do print ?┄ Excon.post(url, body: batch.join) end end quit and exit if count.zero? sleep 1 else print "→%s)" % Tins::Unit.format(count, format: '%.2f %U', prefix: 1024, unit: ?b) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
betterlog-0.3.0 | bin/betterlog_pusher |
betterlog-0.2.2 | bin/betterlog_pusher |
betterlog-0.2.1 | bin/betterlog_pusher |
betterlog-0.2.0 | bin/betterlog_pusher |