pwrake 2.2.8 → 2.2.9
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93b60deb41a4fda0bafa94a5b240812e5c5925ab204f8b802ef63d78fbcf81b2
|
4
|
+
data.tar.gz: 6ac5c66ad22c8ba3316bca3aeab8b34fe0a4e9189f50a99b2056c5a8cced7277
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b0d50fb5cb90b8c7682be343c4ef70acfb324d01b46903f39606f8e044d3315ae7cf7a6cd8e4074e5b5178b3e16aa224c827f53b1ef8ea74a27b6176f84b39b
|
7
|
+
data.tar.gz: 90911a12880e22276be78feae3e13b850d9614f93fc30195a7fb253e730a369bc51783778524aca2213672fca6b290c7622bdf503278f0e04dfe2eb29d46acb5
|
data/lib/pwrake/master/master.rb
CHANGED
@@ -329,7 +329,7 @@ module Pwrake
|
|
329
329
|
if count == 0 && !@task_queue.empty? && @hostinfo_by_taskname.empty?
|
330
330
|
m="No task was invoked while unexecuted tasks remain"
|
331
331
|
Log.error m
|
332
|
-
Log.error "count=#{count} @hostinfo_by_taskname.empty?=#{@hostinfo_by_taskname.empty?} @task_queue=\n"+@task_queue.inspect_q
|
332
|
+
Log.error "count=#{count} @hostinfo_by_taskname.empty?=#{@hostinfo_by_taskname.empty?} @task_queue.empty?={@task_queue.empty?} @task_queue=\n"+@task_queue.inspect_q
|
333
333
|
raise RuntimeError,m
|
334
334
|
end
|
335
335
|
#Log.debug "#{self.class}#send_task_to_idle_core end time=#{Time.now-tm}"
|
@@ -139,6 +139,18 @@ module Pwrake
|
|
139
139
|
end
|
140
140
|
attr_reader :by_id, :by_name
|
141
141
|
|
142
|
+
def max_ncore
|
143
|
+
by_id.map{|host_info| host_info.ncore}.max
|
144
|
+
end
|
145
|
+
|
146
|
+
def min_ncore
|
147
|
+
by_id.map{|host_info| host_info.ncore}.max
|
148
|
+
end
|
149
|
+
|
150
|
+
def total_ncore
|
151
|
+
by_id.inject(0){|sum,host_info| host_info.ncore + sum}
|
152
|
+
end
|
153
|
+
|
142
154
|
def local?
|
143
155
|
@is_local
|
144
156
|
end
|
@@ -59,7 +59,7 @@ module Pwrake
|
|
59
59
|
def turn_empty?(turn)
|
60
60
|
case turn
|
61
61
|
when 0
|
62
|
-
|
62
|
+
empty?
|
63
63
|
when 1
|
64
64
|
@size_q == 0
|
65
65
|
end
|
@@ -158,6 +158,7 @@ module Pwrake
|
|
158
158
|
end
|
159
159
|
s << _qstr("local*#{n}",[]) if n > 0
|
160
160
|
s << _qstr("remote",@q_remote)
|
161
|
+
s << _qstr("reserved",@q_reserved)
|
161
162
|
s << "@size_q=#{@size_q}"
|
162
163
|
s
|
163
164
|
end
|
@@ -9,6 +9,12 @@ module Pwrake
|
|
9
9
|
@enable_steal = true
|
10
10
|
@q_no_action = NoActionQueue.new
|
11
11
|
@q_reserved = Hash.new
|
12
|
+
def @q_reserved.first
|
13
|
+
super.last
|
14
|
+
end
|
15
|
+
def @q_reserved.last
|
16
|
+
self[keys.last]
|
17
|
+
end
|
12
18
|
|
13
19
|
@hostinfo_by_id = hostinfo_by_id
|
14
20
|
|
@@ -158,7 +164,8 @@ module Pwrake
|
|
158
164
|
def inspect_q
|
159
165
|
_qstr("noaction",@q_no_action) +
|
160
166
|
_qstr("input", @q_input) +
|
161
|
-
_qstr("no_input",@q_no_input)
|
167
|
+
_qstr("no_input",@q_no_input) +
|
168
|
+
_qstr("reserved",@q_reserved)
|
162
169
|
end
|
163
170
|
|
164
171
|
def drop_host(host_info)
|
@@ -16,8 +16,8 @@ module Pwrake
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def define_task(task_class, *args, &block) # :nodoc:
|
19
|
-
prop = @property_by_block[block.
|
20
|
-
|
19
|
+
prop = block && @property_by_block[block.source_location]
|
20
|
+
unless prop
|
21
21
|
prop = @last_property
|
22
22
|
@last_property = TaskProperty.new
|
23
23
|
end
|
@@ -35,7 +35,9 @@ module Pwrake
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def create_rule(*args, &block) # :nodoc:
|
38
|
-
|
38
|
+
if block
|
39
|
+
@property_by_block[block.source_location] = @last_property
|
40
|
+
end
|
39
41
|
@last_property = TaskProperty.new
|
40
42
|
super
|
41
43
|
end
|
data/lib/pwrake/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pwrake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masahiro TANAKA
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-06-14 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Parallel and distributed Rake for workflow execution on multicores, clusters,
|
14
14
|
clouds using SSH. It has locality-aware scheduling designed for Gfarm file system.
|
@@ -122,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
122
|
- !ruby/object:Gem::Version
|
123
123
|
version: '0'
|
124
124
|
requirements: []
|
125
|
-
rubygems_version: 3.0.
|
125
|
+
rubygems_version: 3.0.3
|
126
126
|
signing_key:
|
127
127
|
specification_version: 4
|
128
128
|
summary: Parallel and distributed Rake for workflow execution on multicores, clusters,
|