class Object
Constants
- RETRY_SLEEP
Public Instance Methods
invocation_info_to_squab(sc = Squab::Client.new, debug = false, max_retries=3)
click to toggle source
# File lib/squab-client/auto.rb, line 23 def invocation_info_to_squab(sc = Squab::Client.new, debug = false, max_retries=3) hostname = Socket.gethostname script_name = $0 user = nil shell = nil # do special things if we're sudo'ing if ENV["SUDO_USER"] user = ENV["SUDO_USER"] shell = "#" else user = Etc.getpwuid(Process.uid).name shell = "$" end message = "#{hostname}#{shell} #{script_name} #{ARGV.join(' ')}" sc.uid = user sc.source = File.basename($0) if debug puts "message: #{message}" puts "uid: #{user}" puts "source: #{sc.source}" end # Send with retry try_count = 0 begin sc.send(message, nil) rescue SendEventFailed try_count += 1 if try_count > max_retries return else sleep RETRY_SLEEP retry end end end