Module: ScoutAgent

Defined in:
lib/scout_agent.rb,
lib/scout_agent/api.rb,
lib/scout_agent/plan.rb,
lib/scout_agent/agent.rb,
lib/scout_agent/order.rb,
lib/scout_agent/server.rb,
lib/scout_agent/id_card.rb,
lib/scout_agent/mission.rb,
lib/scout_agent/tracked.rb,
lib/scout_agent/database.rb,
lib/scout_agent/lifeline.rb,
lib/scout_agent/wire_tap.rb,
lib/scout_agent/assignment.rb,
lib/scout_agent/dispatcher.rb,
lib/scout_agent/database/queue.rb,
lib/scout_agent/assignment/stop.rb,
lib/scout_agent/core_extensions.rb,
lib/scout_agent/assignment/queue.rb,
lib/scout_agent/assignment/reset.rb,
lib/scout_agent/assignment/start.rb,
lib/scout_agent/assignment/status.rb,
lib/scout_agent/database/statuses.rb,
lib/scout_agent/agent/master_agent.rb,
lib/scout_agent/database/snapshots.rb,
lib/scout_agent/assignment/identify.rb,
lib/scout_agent/assignment/snapshot.rb,
lib/scout_agent/database/mission_log.rb,
lib/scout_agent/order/check_in_order.rb,
lib/scout_agent/order/snapshot_order.rb,
lib/scout_agent/assignment/upload_log.rb,
lib/scout_agent/assignment/configuration.rb,
lib/scout_agent/agent/communication_agent.rb

Overview

The namespace for all agent software.

Defined Under Namespace

Modules: API, CoreExtensions, Dispatcher, Tracked Classes: Agent, Assignment, Database, IDCard, Lifeline, Mission, Order, Plan=OpenStruct.new, Server, WireTap

Constant Summary collapse

VERSION =

The version of this agent.

"3.0.5".freeze
LIB_DIR =

A Pathname reference to the agent code directory, used in dynamic loading.

Pathname.new(File.dirname(__FILE__)) + agent_name
Plugin =

An external alias.

Mission

Class Method Summary collapse

Class Method Details

.agent_nameObject

Returns the name of the agent executable.



38
39
40
# File 'lib/scout_agent.rb', line 38

def self.agent_name
  name.snake_case
end

.prepare_wire_tap(process_name, skip_stdout = false) ⇒ Object

A helper that prepares a log for process_name. This log will use the configured log level and be rotated daily. If the agent is not running as a daemon, the log will also be teed to $stdout, but you can pass a true value into skip_stdout to prevent this.



53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/scout_agent.rb', line 53

def self.prepare_wire_tap(process_name, skip_stdout = false)
  wire_tap          = WireTap.new(Plan.log_dir + "#{agent_name}.log", :daily)
  begin
    wire_tap.level  = ScoutAgent::WireTap::Severity.const_get(
      Plan.logging_level
    )
  rescue NameError  # unrecognized level
    # do nothing:  we will stick with the default
  end
  wire_tap.progname = process_name
  wire_tap.tap      = $stdout unless skip_stdout or Plan.run_as_daemon?
  wire_tap
end

.proper_agent_nameObject

Returns agent_name() converted to a proper human-readable name.



43
44
45
# File 'lib/scout_agent.rb', line 43

def self.proper_agent_name
  agent_name.tr("_", " ").gsub(/\w+/) { |w| w.capitalize }
end