pigato 0.4.3 → 0.4.4
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/examples/echo_client.rb +11 -5
- data/examples/echo_worker.rb +3 -6
- data/lib/pigato/client.rb +9 -3
- data/lib/pigato/version.rb +1 -1
- data/lib/pigato/worker.rb +7 -9
- 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: 21be3b79c7dd6549e1d73d37fe5c02ab26f30fc0
|
4
|
+
data.tar.gz: e2d78c8222b6ddd1b3a97f5894eeede4337d4719
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0baa6b8705e6d3262af29a3d8d1434ea6823d0f85f4ec63fa40c8a1890093e23fbe9a7445642f9a99f344542c8c34208f18b1c5d43701e58b1ef9088e1ab6373
|
7
|
+
data.tar.gz: f67180228c8414f228559a6fc30945b77d49d069f000482fa130fa774e9470bc1b94c8f1400c49c093fac9f928f43a62180528852794886172d140c0b03a2727
|
data/examples/echo_client.rb
CHANGED
@@ -8,19 +8,25 @@ require 'thread'
|
|
8
8
|
def start
|
9
9
|
ts = []
|
10
10
|
|
11
|
-
(0..
|
11
|
+
(0..10).each do |tid|
|
12
12
|
ts << Thread.new {
|
13
|
-
client = Pigato::Client.new('tcp://127.0.0.1:55555', { :autostart => true })
|
13
|
+
client = Pigato::Client.new('tcp://127.0.0.1:55555', { :autostart => true, :timeout => 20000 })
|
14
14
|
|
15
15
|
requests = 1000
|
16
|
+
success = 0
|
16
17
|
d1 = Time.now
|
17
18
|
requests.times do |i|
|
18
19
|
begin
|
19
|
-
client.request('echo', 'Hello world1')
|
20
|
+
res = client.request('echo', 'Hello world1')
|
21
|
+
if res
|
22
|
+
success += 1
|
23
|
+
else
|
24
|
+
puts "nil reply"
|
25
|
+
end
|
20
26
|
end
|
21
27
|
end
|
22
28
|
d2 = Time.now
|
23
|
-
puts "#{requests} requests/replies processed (#{(d2 - d1) * 1000} milliseconds)"
|
29
|
+
puts "#{success}/#{requests} requests/replies processed (#{(d2 - d1) * 1000} milliseconds)"
|
24
30
|
}
|
25
31
|
end
|
26
32
|
|
@@ -29,7 +35,7 @@ def start
|
|
29
35
|
end
|
30
36
|
end
|
31
37
|
|
32
|
-
(0..
|
38
|
+
(0..4).each do |pid|
|
33
39
|
pid = fork do
|
34
40
|
start
|
35
41
|
end
|
data/examples/echo_worker.rb
CHANGED
@@ -7,7 +7,7 @@ require "#{File.dirname(__FILE__)}/../lib/pigato.rb"
|
|
7
7
|
def start
|
8
8
|
ts = []
|
9
9
|
|
10
|
-
(0..
|
10
|
+
(0..10).each do |tid|
|
11
11
|
ts << Thread.new {
|
12
12
|
worker = Pigato::Worker.new('tcp://127.0.0.1:55555', 'echo')
|
13
13
|
worker.start
|
@@ -16,11 +16,8 @@ def start
|
|
16
16
|
request = worker.recv
|
17
17
|
if !request.nil?
|
18
18
|
worker.reply request
|
19
|
-
else
|
20
|
-
sleep 0.1
|
21
19
|
end
|
22
|
-
sleep
|
23
|
-
worker.start
|
20
|
+
#sleep 0.1
|
24
21
|
end
|
25
22
|
}
|
26
23
|
end
|
@@ -30,7 +27,7 @@ def start
|
|
30
27
|
end
|
31
28
|
end
|
32
29
|
|
33
|
-
(0..
|
30
|
+
(0..4).each do |pid|
|
34
31
|
fork do
|
35
32
|
start
|
36
33
|
end
|
data/lib/pigato/client.rb
CHANGED
@@ -61,13 +61,19 @@ class Pigato::Client < Pigato::Base
|
|
61
61
|
socket.rcvtimeo = @conf[:timeout]
|
62
62
|
|
63
63
|
data = []
|
64
|
-
|
64
|
+
|
65
65
|
msg = socket.recv_message()
|
66
66
|
while 1 do
|
67
|
-
break if
|
67
|
+
break if msg.nil? || msg.size == 0
|
68
68
|
data << msg.pop.data
|
69
69
|
end
|
70
|
-
|
70
|
+
|
71
|
+
if data[3] != rid
|
72
|
+
data = []
|
73
|
+
if conf[:logger]
|
74
|
+
conf[:logger].error("PigatoClient: RID mismatch")
|
75
|
+
end
|
76
|
+
end
|
71
77
|
|
72
78
|
return nil if data.length == 0
|
73
79
|
|
data/lib/pigato/version.rb
CHANGED
data/lib/pigato/worker.rb
CHANGED
@@ -11,14 +11,13 @@ class Pigato::Worker < Pigato::Base
|
|
11
11
|
@conf = {
|
12
12
|
:autostart => false,
|
13
13
|
:timeout => 2500,
|
14
|
-
:heartbeat => 2500,
|
15
14
|
:reconnect => 2500
|
16
15
|
}
|
17
16
|
|
18
17
|
@conf.merge!(conf)
|
19
18
|
|
19
|
+
@heartbeat_at = Time.now
|
20
20
|
@liveness = 0
|
21
|
-
@heartbeat_at = 0
|
22
21
|
@reply_to = nil
|
23
22
|
@reply_rid = nil
|
24
23
|
@reply_service = nil
|
@@ -41,13 +40,13 @@ class Pigato::Worker < Pigato::Base
|
|
41
40
|
request.reverse.each{|p| msg.push(ZMQ::Frame(p))}
|
42
41
|
client.send msg
|
43
42
|
end
|
44
|
-
@@global_heartbeat_at = Time.now +
|
43
|
+
@@global_heartbeat_at = Time.now + 1
|
45
44
|
end
|
46
45
|
rescue => e
|
47
46
|
puts e
|
48
47
|
end
|
49
48
|
@@mtx.unlock
|
50
|
-
sleep
|
49
|
+
sleep 1
|
51
50
|
end
|
52
51
|
end
|
53
52
|
end
|
@@ -105,12 +104,12 @@ class Pigato::Worker < Pigato::Base
|
|
105
104
|
start
|
106
105
|
end
|
107
106
|
end
|
108
|
-
|
107
|
+
|
109
108
|
if Time.now > @heartbeat_at
|
110
|
-
send
|
111
|
-
@heartbeat_at = Time.now + 0.001 * @conf[:
|
109
|
+
send(Pigato::W_HEARTBEAT, ['', Oj.dump({ 'concurrency' => 1 })])
|
110
|
+
@heartbeat_at = Time.now + 0.001 * @conf[:timeout]
|
112
111
|
end
|
113
|
-
|
112
|
+
|
114
113
|
val
|
115
114
|
end
|
116
115
|
|
@@ -120,7 +119,6 @@ class Pigato::Worker < Pigato::Base
|
|
120
119
|
send Pigato::W_READY, @service
|
121
120
|
super
|
122
121
|
@liveness = HEARTBEAT_LIVENESS
|
123
|
-
@heartbeat_at = Time.now + 0.001 * @conf[:heartbeat]
|
124
122
|
end
|
125
123
|
|
126
124
|
def stop
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pigato
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paolo Ardoino
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|