scout 2.0.6 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ == 2.0.7
2
+
3
+ * Improved PID file error messages
4
+ * Adding a redundant Timeout to work around Net::HTTP hangs
5
+
1
6
  == 2.0.6
2
7
 
3
8
  * Adding plugin dependency support via the new needs() class method
@@ -5,5 +5,5 @@ require "scout/plugin"
5
5
  require "scout/server"
6
6
 
7
7
  module Scout
8
- VERSION = "2.0.6".freeze
8
+ VERSION = "2.0.7".freeze
9
9
  end
@@ -205,7 +205,13 @@ module Scout
205
205
  # do nothing, we didn't have permission to check the running process
206
206
  end
207
207
  if running
208
- log.warn "Process #{pid} was already running" if log
208
+ if pid == "unknown"
209
+ log.warn "Could not create or read PID file. " +
210
+ "You may need to the path to the config directory. " +
211
+ "See: http://scoutapp.com/help#data_file" if log
212
+ else
213
+ log.warn "Process #{pid} was already running" if log
214
+ end
209
215
  exit
210
216
  else
211
217
  log.info "Stale PID file found. Clearing it and reloading..." if log
@@ -9,6 +9,8 @@ module Scout
9
9
  class Server
10
10
  # A new class for plugin Timeout errors.
11
11
  class PluginTimeoutError < RuntimeError; end
12
+ # A new class for API Timeout errors.
13
+ class APITimeoutError < RuntimeError; end
12
14
 
13
15
  # The default URLS are used to communicate with the Scout Server.
14
16
  URLS = { :plan => "/clients/CLIENT_KEY/plugins.scout?version=CLIENT_VERSION",
@@ -171,6 +173,7 @@ module Scout
171
173
  get(url, "Could not retrieve plan from server.") do |res|
172
174
  begin
173
175
  plugin_execution_plan = Marshal.load(res.body)
176
+ # pp plugin_execution_plan
174
177
  info "Plan loaded. (#{plugin_execution_plan.size} plugins: " +
175
178
  "#{plugin_execution_plan.map { |p| p[:name] }.join(', ')})"
176
179
  rescue TypeError
@@ -283,12 +286,16 @@ module Scout
283
286
  end
284
287
 
285
288
  def request(url, response_handler, error, &connector)
286
- http = Net::HTTP.new(url.host, url.port)
287
- if url.is_a? URI::HTTPS
288
- http.use_ssl = true
289
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
289
+ response = nil
290
+ Timeout.timeout(5 * 60, APITimeoutError) do
291
+ http = Net::HTTP.new(url.host, url.port)
292
+ if url.is_a? URI::HTTPS
293
+ http.use_ssl = true
294
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
295
+ end
296
+ response = no_warnings { http.start(&connector) }
290
297
  end
291
- case response = no_warnings { http.start(&connector) }
298
+ case response
292
299
  when Net::HTTPSuccess
293
300
  response_handler[response] unless response_handler.nil?
294
301
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Highgroove Studios
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-28 00:00:00 -04:00
12
+ date: 2009-06-30 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -22,7 +22,11 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: "0"
24
24
  version:
25
- description: Scout makes monitoring and reporting on your web applications as flexible and simple as possible. Scout is a product of Highgroove Studios.
25
+ description: |
26
+ Scout makes monitoring and reporting on your web applications as flexible and simple as possible.
27
+
28
+ Scout is a product of Highgroove Studios.
29
+
26
30
  email: scout@highgroove.com
27
31
  executables:
28
32
  - scout
@@ -57,6 +61,8 @@ files:
57
61
  - LICENSE
58
62
  has_rdoc: true
59
63
  homepage: http://scoutapp.com
64
+ licenses: []
65
+
60
66
  post_install_message:
61
67
  rdoc_options:
62
68
  - --title
@@ -80,9 +86,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
86
  requirements: []
81
87
 
82
88
  rubyforge_project: scout
83
- rubygems_version: 1.2.0
89
+ rubygems_version: 1.3.4
84
90
  signing_key:
85
- specification_version: 2
91
+ specification_version: 3
86
92
  summary: Scout makes monitoring and reporting on your web applications as flexible and simple as possible.
87
93
  test_files: []
88
94