in-parallel 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/in_parallel/version.rb +1 -1
- data/lib/in_parallel.rb +11 -3
- 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: 954d90d6730f964c9b6af33e32f377681d762124
|
4
|
+
data.tar.gz: 5714427d316d51853feb018ee79f6dc9fa1fa687
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8ff13104c07ec1b88d9b08b14f28bc939f61a1d5e26b47d927aab6aadb17ee7dedcf12794cbe62f87db2672bae85a8dc7fbf54ec08ba7a5e36b3374e5498908
|
7
|
+
data.tar.gz: 6c371de92cac2770beca520bc4cb261f85d8d51e0b06c59f0a755cc18c1b2908af1fa59081296ac4b5f14d4108d004cf32e539416cec8cf242c14f4490bea573
|
data/in_parallel/version.rb
CHANGED
data/lib/in_parallel.rb
CHANGED
@@ -97,7 +97,7 @@ class InParallel
|
|
97
97
|
def self.wait_for_processes
|
98
98
|
trap(:INT) do
|
99
99
|
puts "Warning, recieved interrupt. Processing child results and exiting."
|
100
|
-
@@
|
100
|
+
@@process_infos.each { |process_info|
|
101
101
|
# Send INT to each child process so it returns and can print stdout and stderr to console before exiting.
|
102
102
|
Process.kill("INT", process_info[:pid])
|
103
103
|
}
|
@@ -183,13 +183,21 @@ class InParallel
|
|
183
183
|
# Write the result to the write_result IO stream.
|
184
184
|
# Have to serialize the value so it can be transmitted via IO
|
185
185
|
if(!ret_val.nil? && ret_val.singleton_methods && ret_val.class != TrueClass && ret_val.class != FalseClass && ret_val.class != Fixnum)
|
186
|
+
#in case there are other types that can't be duped
|
186
187
|
begin
|
187
188
|
ret_val = ret_val.dup
|
188
189
|
rescue StandardError => err
|
189
|
-
|
190
|
+
puts "Warning: return value from child process #{ret_val} " +
|
191
|
+
"could not be transferred to parent process: #{err.message}"
|
190
192
|
end
|
191
193
|
end
|
192
|
-
|
194
|
+
# In case there are other types that can't be dumped
|
195
|
+
begin
|
196
|
+
Marshal.dump(ret_val, write_result) unless ret_val.nil?
|
197
|
+
rescue StandardError => err
|
198
|
+
puts "Warning: return value from child process #{ret_val} " +
|
199
|
+
"could not be transferred to parent process: #{err.message}"
|
200
|
+
end
|
193
201
|
rescue StandardError => err
|
194
202
|
puts "Error in process #{pid}: #{err.message}"
|
195
203
|
# Return the error if an error is rescued so we can re-throw in the main process.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: in-parallel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- samwoods1
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|