Skip to content

Commit 2a9c854

Browse files
committed
Merge pull request #27 from kamaradclimber/parallel
Use parallel lib to speed up rest api operations
2 parents 84b8507 + 35eb4d3 commit 2a9c854

2 files changed

Lines changed: 7 additions & 8 deletions

File tree

knife-inspect.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,5 @@ Gem::Specification.new do |s|
3030

3131
s.add_runtime_dependency 'chef', chef_version
3232
s.add_runtime_dependency 'yajl-ruby', '~> 1.2'
33+
s.add_runtime_dependency 'parallel', '~> 1.3'
3334
end

lib/health_inspector/checklists/base.rb

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# encoding: UTF-8
22
require 'pathname'
3+
require 'parallel'
34

45
module HealthInspector
56
module Checklists
@@ -38,19 +39,16 @@ def all_item_names
3839
(server_items + local_items).uniq.sort
3940
end
4041

41-
def each_item
42-
all_item_names.each do |name|
43-
yield load_item(name)
44-
end
42+
def load_validate(name)
43+
item = load_item(name)
44+
validate_item(item)
4545
end
4646

4747
def run
4848
banner "Inspecting #{self.class.title}"
4949

50-
results = []
51-
52-
each_item do |item|
53-
results << validate_item(item)
50+
results = Parallel.map(all_item_names) do |name|
51+
load_validate(name)
5452
end
5553

5654
!results.include?(false)

0 commit comments

Comments
 (0)