entitlements-app 1.2.4 → 1.2.5
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.
- checksums.yaml +4 -4
- data/lib/entitlements.rb +25 -10
- data/lib/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bdd6741cf78fb17f3d3cc0e21b27543be1b02810317b906bd7344fc4652f11dd
|
|
4
|
+
data.tar.gz: a4a0ccd8e4ff59d73ec26eb494c16c68ce88d8c4c5df4c6fd969e53d91d92dc6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 801efc4677593d00afd2c52e60c56d1fdb5b5fb87c9957c2bc71f7a9adc7766cfd4e49f95b2621935be7d5fa8001815029b2fe196290312affe4eff93e142092
|
|
7
|
+
data.tar.gz: a179762674b835b741edfdef40ec65f7a57738509c2d31a11aa702ee57aea5c67aaff03761d3f9a89fe1f92258b6d0e5511d9715617df0a5cb5d3f123d0846d9
|
data/lib/entitlements.rb
CHANGED
|
@@ -22,6 +22,7 @@ require "logger"
|
|
|
22
22
|
require "ostruct"
|
|
23
23
|
require "resolv"
|
|
24
24
|
require "stringio"
|
|
25
|
+
require "thread"
|
|
25
26
|
require "uri"
|
|
26
27
|
require "yaml"
|
|
27
28
|
|
|
@@ -457,19 +458,33 @@ module Entitlements
|
|
|
457
458
|
# Calculate old and new membership in each group.
|
|
458
459
|
thread_pool = Concurrent::FixedThreadPool.new(max_parallelism)
|
|
459
460
|
logger.debug("Begin prefetch and validate for all groups")
|
|
461
|
+
|
|
460
462
|
prep_start = Time.now
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
463
|
+
jobs = Entitlements.child_classes
|
|
464
|
+
completions = Queue.new
|
|
465
|
+
|
|
466
|
+
begin
|
|
467
|
+
jobs.each do |group_name, obj|
|
|
468
|
+
thread_pool.post do
|
|
469
|
+
group_start = Time.now
|
|
470
|
+
logger.debug("Begin prefetch and validate for #{group_name}")
|
|
471
|
+
provider = Entitlements.config["groups"].fetch(group_name).fetch("type")
|
|
472
|
+
timed_operation(phase: "prefetch", provider: provider, target: group_name, concurrent: true) { obj.prefetch }
|
|
473
|
+
timed_operation(phase: "validate", provider: provider, target: group_name, concurrent: true) { obj.validate }
|
|
474
|
+
logger.debug("Finished prefetch and validate for #{group_name} in #{Time.now - group_start}")
|
|
475
|
+
completions << nil
|
|
476
|
+
rescue => e
|
|
477
|
+
completions << e
|
|
478
|
+
end
|
|
469
479
|
end
|
|
470
|
-
end
|
|
471
480
|
|
|
472
|
-
|
|
481
|
+
jobs.size.times do
|
|
482
|
+
exception = completions.pop
|
|
483
|
+
raise exception if exception
|
|
484
|
+
end
|
|
485
|
+
ensure
|
|
486
|
+
thread_pool.kill
|
|
487
|
+
end
|
|
473
488
|
logger.debug("Finished all prefetch and validate in #{Time.now - prep_start}")
|
|
474
489
|
|
|
475
490
|
logger.debug("Begin all calculations")
|
data/lib/version.rb
CHANGED