deadly_serious 0.5.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2660edb3604e3dd346527a39f1534c4b16911e1
|
4
|
+
data.tar.gz: e37197eb3b3a5baaa731a6be7ab9a5a664a264f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bcbee1a6698414cb4ca2b05fda4f77521c011092fe49ca3cb9ee212c7f2fcf8a8d621e8bedc48f89929c0478adfbe9b79143fffbaa2140f80fd4d9e33e3af298
|
7
|
+
data.tar.gz: 706924bd1b8a6343b0e7c494f0933431fe3c7bc06d977132710100f4882e55011d6ecb2e805c77126e54913a333cd640bc169b797e4d2627ca2386eca198423f
|
@@ -5,12 +5,13 @@ module DeadlySerious
|
|
5
5
|
reader = readers.first
|
6
6
|
@writer = writers.first
|
7
7
|
|
8
|
-
reader
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
8
|
+
if reader
|
9
|
+
reader.each { |packet| super(packet.chomp) }
|
10
|
+
else
|
11
|
+
super()
|
12
|
+
end
|
13
|
+
rescue Errno::EPIPE
|
14
|
+
# Ignore it. We expect that sometimes =)
|
14
15
|
end
|
15
16
|
|
16
17
|
# Send a packet to the next process
|
@@ -19,6 +20,8 @@ module DeadlySerious
|
|
19
20
|
flush_buffer
|
20
21
|
end
|
21
22
|
|
23
|
+
alias :emit :send
|
24
|
+
|
22
25
|
# Send a packet to the next process,
|
23
26
|
# however, accumulate some of them
|
24
27
|
# before send to gain a little
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'deadly_serious/engine/json_io'
|
2
|
+
|
3
|
+
module DeadlySerious
|
4
|
+
module Engine
|
5
|
+
module SimpleJsonProcess
|
6
|
+
|
7
|
+
def run(readers: [], writers: [])
|
8
|
+
reader = JsonIo.new(readers.first) unless readers.empty?
|
9
|
+
@writer = JsonIo.new(writers.first) unless writers.empty?
|
10
|
+
|
11
|
+
if reader
|
12
|
+
reader.each do |packet|
|
13
|
+
super(*packet)
|
14
|
+
end
|
15
|
+
else
|
16
|
+
super()
|
17
|
+
end
|
18
|
+
rescue Errno::EPIPE
|
19
|
+
# Ignore it. We expect that sometimes =)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Send a packet to the next process
|
23
|
+
def send(*packet)
|
24
|
+
raise 'No "writer" defined' unless @writer
|
25
|
+
@writer << packet unless packet.empty?
|
26
|
+
end
|
27
|
+
|
28
|
+
alias :emit :send
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
@@ -26,9 +26,15 @@ module DeadlySerious
|
|
26
26
|
def spawn_process(a_class, *args, process_name: a_class.name, readers: [], writers: [])
|
27
27
|
writers.each { |writer| create_pipe(writer) }
|
28
28
|
fork_it do
|
29
|
-
|
30
|
-
|
31
|
-
|
29
|
+
begin
|
30
|
+
set_process_name(process_name)
|
31
|
+
append_open_io_if_needed(a_class)
|
32
|
+
the_object = a_class.new
|
33
|
+
the_object.run(*args, readers: readers, writers: writers)
|
34
|
+
rescue => e
|
35
|
+
the_object.finalize if the_object.respond_to?(:finalize)
|
36
|
+
raise e
|
37
|
+
end
|
32
38
|
end
|
33
39
|
end
|
34
40
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deadly_serious
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ronie Uliana
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -74,6 +74,7 @@ files:
|
|
74
74
|
- lib/deadly_serious/engine/open_io.rb
|
75
75
|
- lib/deadly_serious/engine/push_pop.rb
|
76
76
|
- lib/deadly_serious/engine/push_pop_send.rb
|
77
|
+
- lib/deadly_serious/engine/simple_json_process.rb
|
77
78
|
- lib/deadly_serious/engine/spawner.rb
|
78
79
|
- lib/deadly_serious/processes/db_source.rb
|
79
80
|
- lib/deadly_serious/processes/joiner.rb
|