#!/usr/bin/env ruby require 'rubygems' require 'daemons' require 'logger' require File.dirname(__FILE__) + '/../lib/heartbeat-client' begin puts "Using config in your home directory" @config = YAML.load(File.read("#{ENV['HOME']}/.heartbeat-client.yml")) rescue Errno::ENOENT raise "heartbeat-client.yml expected in ~/.heartbeat-client.yml" end unless @config['apikey'] puts "API Key not found!" exit end unless @config['endpoint'] puts "Service Endpoint not found!" exit end if ARGV and ARGV.size == 1 Daemons.run_proc('heartbeat-client.rb', :dir => File.join('/tmp'), :monitor => true, :backtrace => true, :monitor => true) do Heartbeat.log = Logger.new('/tmp/heartbeat.log') loop do begin Heartbeat.create(@config['apikey'], @config['endpoint'], @config['name']) rescue => e puts e.message end GC.start sleep(30) end end else puts "Please provide a command to hbc (start|stop|run)!" end