scout 2.0.6 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
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