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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d0275c362a3e421084ffed8f81836519569ca20
4
- data.tar.gz: 4c0361fb7ce849ee3bab2980e0530fd50ea1025e
3
+ metadata.gz: e774934b2a6f8f2ab03e09decaa0dd67c673593d
4
+ data.tar.gz: 3962eafc89f185fa6934dcf17aa9d3c38ea8ce01
5
5
  SHA512:
6
- metadata.gz: ae5cce1cfdac34fa69937fdc6b7e4af2580593173b83e34bc92b7ca05b85e223824d7368e52d5508440c9a959c9cba0193a5e3cbb0ffe8c715602dc20360bd39
7
- data.tar.gz: 156bc1b8568c7c7bd76ba4daee49256142309b17da9104e181a527337f61477cc8d9713d46d5190e880c534523ce081b6be42e9d9a2caf1bef00d2447cfdd0ce
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
- ret = []
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
- ret << {profile: to_merge_spec[:profile], specs: [to_merge_spec]}
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 = ret.find do |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 = ret.find do |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 ret.size >= minimum_pieces
108
- merge_piece = ret.find do |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
- ret << {profile: to_merge_spec[:profile], specs: [to_merge_spec]}
122
+ common_jobs << {profile: to_merge_spec[:profile], specs: [to_merge_spec]}
121
123
  end
122
124
  else
123
- ret << {profile: to_merge_spec[:profile], specs: [to_merge_spec]}
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
- ret
130
+ standalone_jobs + common_jobs
129
131
  end
130
132
 
131
133
 
@@ -1,5 +1,5 @@
1
1
  module Tes
2
2
  module Request
3
- VERSION = '0.4'
3
+ VERSION = '0.5'
4
4
  end
5
5
  end
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'
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-24 00:00:00.000000000 Z
11
+ date: 2017-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: java-properties