cf_light_api 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f79c9dd7253511cebab13f81590277976b6c46b5
4
- data.tar.gz: 0f24c83eaecddbcc14cf791551ddbf41d8e26b4f
3
+ metadata.gz: e3a2339a3ba1a090cc92e750dbf9c7989b65e6f2
4
+ data.tar.gz: 4aeafe0baf9434fbb864d0935ddb2c229bd13fc4
5
5
  SHA512:
6
- metadata.gz: 46f5242f6978654e8068cdd77908956ae039df031856185adaa4ec0f1ad56e3ba8ef0050703addea0d26f77a135cbdcfd8dd4debc6cfc44f86e3a1a45e126d26
7
- data.tar.gz: cefefdacff01ac70e6bc9c15f0cdc89ca577a50be27d6ba6b7cf53d821bea7476da74502c9da55f86bf9cd359bf285604d84c32a54f0cba43cd788e6ce8865fe
6
+ metadata.gz: 5938dc292f80b5e0c498bf1dbd7f031a3c413552cee9b860b54528a974edb85da0031c889213a5938e3eabfaba947f3adf8e463ce43af22050bd4829a23c8ee6
7
+ data.tar.gz: da3062575af4938552a00d1003f94c03d7e9f6c1c65c8c235ce4b788a3001d838ad4a56251c5d9021779a6eaffe8de74d3965f8f05842885b6a6cd619aa30897
data/bin/cf_light_api CHANGED
@@ -8,4 +8,5 @@ require_relative '../lib/cf_light_api/worker.rb'
8
8
  require 'sinatra'
9
9
  require 'sinatra/cf_light_api'
10
10
 
11
+ set :traps, false
11
12
  set :run, true
@@ -1,6 +1,7 @@
1
1
  require 'cfoundry'
2
2
  require 'json'
3
3
  require 'rufus-scheduler'
4
+ require 'parallel'
4
5
 
5
6
  ['CF_API', 'CF_USER', 'CF_PASSWORD'].each do |env|
6
7
  puts "[cf_light_api:worker] Error: please set the '#{env}' environment variable." unless ENV[env]
@@ -24,22 +25,29 @@ scheduler.every '5m', :first_in => '5s', :overlap => false, :timeout => '15m' do
24
25
 
25
26
  org_data = []
26
27
  app_data = []
27
- cf_client.organizations.each do |org|
28
+ org_data = Parallel.map( cf_client.organizations, :in_processes => 4) do |org|
28
29
  # The CFoundry client returns memory_limit in MB, so we need to normalise to Bytes to match the Apps.
29
- org_data << {
30
+ {
30
31
  :name => org.name,
31
32
  :quota => {
32
33
  :total_services => org.quota_definition.total_services,
33
34
  :memory_limit => org.quota_definition.memory_limit * 1024 * 1024
34
35
  }
35
36
  }
36
-
37
- org.spaces.each do |space|
38
- space.apps.each do |app|
39
- app_data << format_app_data(app, org.name, space.name)
37
+ end.flatten
38
+
39
+ app_data = Parallel.map( cf_client.organizations, :in_processes => 4) do |org|
40
+ Parallel.map( org.spaces, :in_processes => 4) do |space|
41
+ Parallel.map( space.apps, :in_processes => 4) do |app|
42
+ begin
43
+ # It's possible for an app to have been terminated before this stage is reached.
44
+ format_app_data(app, org.name, space.name)
45
+ rescue CFoundry::AppNotFound
46
+ next
47
+ end
40
48
  end
41
49
  end
42
- end
50
+ end.flatten
43
51
 
44
52
  unlock
45
53
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cf_light_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Springer Platform Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-06 00:00:00.000000000 Z
11
+ date: 2015-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cfoundry
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 3.2.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: parallel
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 1.4.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.4.1
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rufus-scheduler
43
57
  requirement: !ruby/object:Gem::Requirement