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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bdf1137eca61937e2e82029877d8019e644e666d
4
- data.tar.gz: fa72b975774ccbbb195da86b0fceae53a302a473
3
+ metadata.gz: 21be3b79c7dd6549e1d73d37fe5c02ab26f30fc0
4
+ data.tar.gz: e2d78c8222b6ddd1b3a97f5894eeede4337d4719
5
5
  SHA512:
6
- metadata.gz: bd2a025e0dcc5242622fac54e0e8e60ec32fdf7efbac0388feb68ece36cd93e9c778f07cb4b927a050f949028c973bd42a97f3454abf27c62ea701a818d4da2b
7
- data.tar.gz: 38cef7013fabeaea9c6dd52af0e875e9928d8891d3d74d1a03b8c64b6f3f7f664b699dc803bda91ce5e33d8ff7b2055d8948564429348025f83de1de721f36b2
6
+ metadata.gz: 0baa6b8705e6d3262af29a3d8d1434ea6823d0f85f4ec63fa40c8a1890093e23fbe9a7445642f9a99f344542c8c34208f18b1c5d43701e58b1ef9088e1ab6373
7
+ data.tar.gz: f67180228c8414f228559a6fc30945b77d49d069f000482fa130fa774e9470bc1b94c8f1400c49c093fac9f928f43a62180528852794886172d140c0b03a2727
@@ -8,19 +8,25 @@ require 'thread'
8
8
  def start
9
9
  ts = []
10
10
 
11
- (0..5).each do |tid|
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..1).each do |pid|
38
+ (0..4).each do |pid|
33
39
  pid = fork do
34
40
  start
35
41
  end
@@ -7,7 +7,7 @@ require "#{File.dirname(__FILE__)}/../lib/pigato.rb"
7
7
  def start
8
8
  ts = []
9
9
 
10
- (0..5).each do |tid|
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 40
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..1).each do |pid|
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
- d1 = Time.now
64
+
65
65
  msg = socket.recv_message()
66
66
  while 1 do
67
- break if !msg || msg.size == 0
67
+ break if msg.nil? || msg.size == 0
68
68
  data << msg.pop.data
69
69
  end
70
- data = [] if data[3] != rid
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
 
@@ -1,3 +1,3 @@
1
1
  module Pigato
2
- VERSION = "0.4.3"
2
+ VERSION = "0.4.4"
3
3
  end
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 + 2
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 2
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 Pigato::W_HEARTBEAT
111
- @heartbeat_at = Time.now + 0.001 * @conf[:heartbeat]
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.3
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-06 00:00:00.000000000 Z
11
+ date: 2016-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler