tes-request 0.4 → 0.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/tes/request/rspec/distribute.rb +11 -9
- data/lib/tes/request/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e774934b2a6f8f2ab03e09decaa0dd67c673593d
|
4
|
+
data.tar.gz: 3962eafc89f185fa6934dcf17aa9d3c38ea8ce01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de707683b0a3ec460a29c8760ae0c8dbfbf3bb0c08e6a9f2cfdde62382f1c7889aae31bcf2a36471c48d701e9b351f4828844962b34d47d6e60562d432b2a082
|
7
|
+
data.tar.gz: 780778bc28e7573fa19534b9b4354dc3b2254275d9fcc90ce376e99080e74cd7013d969b9d4ed118f2d76772c69c85cae7d3f5090f133dcb1d2e6750fc01c58a
|
@@ -71,18 +71,20 @@ module Tes
|
|
71
71
|
# @param [Fixnum] minimum_pieces
|
72
72
|
# @return [Array]
|
73
73
|
def gen_pieces(profiles, minimum_pieces)
|
74
|
-
|
74
|
+
common_jobs = []
|
75
|
+
standalone_jobs = []
|
76
|
+
|
75
77
|
min_spec_count = profiles.size / minimum_pieces
|
76
78
|
|
77
79
|
profiles.each do |to_merge_spec|
|
78
80
|
# 0. 任务发布要求的特殊处理
|
79
81
|
if to_merge_spec[:distribute] && to_merge_spec[:distribute][:standalone]
|
80
|
-
|
82
|
+
standalone_jobs << {profile: to_merge_spec[:profile], specs: [to_merge_spec]}
|
81
83
|
next
|
82
84
|
end
|
83
85
|
|
84
86
|
# 1. 优先相同要求的归并
|
85
|
-
join_piece =
|
87
|
+
join_piece = common_jobs.find do |piece|
|
86
88
|
piece[:specs].size <= min_spec_count and
|
87
89
|
piece[:profile] == to_merge_spec[:profile]
|
88
90
|
end
|
@@ -91,7 +93,7 @@ module Tes
|
|
91
93
|
join_piece[:specs] << to_merge_spec
|
92
94
|
else
|
93
95
|
# 2. 然后再是资源多少不同的归并
|
94
|
-
super_piece =
|
96
|
+
super_piece = common_jobs.find do |piece|
|
95
97
|
if piece[:specs].size <= min_spec_count
|
96
98
|
cr = piece[:profile] <=> to_merge_spec[:profile]
|
97
99
|
cr && cr >= 0
|
@@ -104,8 +106,8 @@ module Tes
|
|
104
106
|
super_piece[:specs] << to_merge_spec
|
105
107
|
else
|
106
108
|
# 3. 可整合计算的的归并,但要求已经达到的任务分片数已经达到了要求那么大,否则直接以新建来搞
|
107
|
-
if
|
108
|
-
merge_piece =
|
109
|
+
if common_jobs.size >= minimum_pieces
|
110
|
+
merge_piece = common_jobs.find do |piece|
|
109
111
|
piece[:specs].size <= min_spec_count and
|
110
112
|
piece[:profile].merge_able?(to_merge_spec[:profile])
|
111
113
|
end
|
@@ -117,15 +119,15 @@ module Tes
|
|
117
119
|
else
|
118
120
|
# 4. 最后再尝试独立出一个新的piece,在剩余数量达到一半要求的时候
|
119
121
|
# puts 'http://new'
|
120
|
-
|
122
|
+
common_jobs << {profile: to_merge_spec[:profile], specs: [to_merge_spec]}
|
121
123
|
end
|
122
124
|
else
|
123
|
-
|
125
|
+
common_jobs << {profile: to_merge_spec[:profile], specs: [to_merge_spec]}
|
124
126
|
end
|
125
127
|
end
|
126
128
|
end
|
127
129
|
end
|
128
|
-
|
130
|
+
standalone_jobs + common_jobs
|
129
131
|
end
|
130
132
|
|
131
133
|
|
data/lib/tes/request/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tes-request
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.5'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wuhuizuo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: java-properties
|