pigato 0.4.9 → 0.5.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: a7b3004c62db78083c521bd726d109b8ea780ae4
4
- data.tar.gz: 36015bf7d6c9e71b2d0f19866509edbe785a5d38
3
+ metadata.gz: af54a3667731721aa318e09c9719ce03575edbec
4
+ data.tar.gz: ad5ef1de51f717634ad23fcc4bfc182f38c99dda
5
5
  SHA512:
6
- metadata.gz: 9f0415c101143eeb42dc0697fb5b4860631141ce3ada6b2513bc023ffd029cd96b7ea3a9f54700c0ce77063cb2d0b19e82e7ed375cfd1e8ede50756fbf761af1
7
- data.tar.gz: 023b4e30452960c317a44d911afbd0332c37ad817cc02e6f4f5efad50a630a0e3caba7fa6ae6f41f5238ceecffc92bda1c14fe14278ca5f4bde1c6b532b17d92
6
+ metadata.gz: eeec03fe3b2536f7f0dd151ba8e57b0070b7ec771b7bd4029e7227a1d7f4066896a0260f7e330cc9ce10202a0eda4c641e123923794b8bc8a55b451922675569
7
+ data.tar.gz: 1ea76c41521be9cc1e3a0c1281c85aa4149ba379f5d68369aec2c456eb4ebbbb21edf50157c769cb0716233fd5c1bee94835f95b9a75218c356ed3ee5717fd76
@@ -12,7 +12,7 @@ def start
12
12
  ts << Thread.new {
13
13
  client = Pigato::Client.new('tcp://127.0.0.1:55555', { :autostart => true, :timeout => 20000 })
14
14
 
15
- requests = 50000
15
+ requests = 1000
16
16
  success = 0
17
17
  d1 = Time.now
18
18
  requests.times do |i|
@@ -36,7 +36,7 @@ def start
36
36
  end
37
37
  end
38
38
 
39
- (0..2).each do |pid|
39
+ (0..1).each do |pid|
40
40
  pid = fork do
41
41
  start
42
42
  end
@@ -27,7 +27,7 @@ def start
27
27
  end
28
28
  end
29
29
 
30
- (0..4).each do |pid|
30
+ (0..2).each do |pid|
31
31
  fork do
32
32
  start
33
33
  end
data/lib/pigato/base.rb CHANGED
@@ -5,6 +5,7 @@ class Pigato::Base
5
5
  @@mtxs = {}
6
6
  @@mtx = Mutex.new
7
7
  @@global_heartbeat_at = Time.now
8
+ @@global_thread = nil
8
9
 
9
10
  def init
10
11
  @iid = SecureRandom.uuid
@@ -1,3 +1,3 @@
1
1
  module Pigato
2
- VERSION = "0.4.9"
2
+ VERSION = "0.5.0"
3
3
  end
data/lib/pigato/worker.rb CHANGED
@@ -28,27 +28,32 @@ class Pigato::Worker < Pigato::Base
28
28
  start
29
29
  end
30
30
 
31
- Thread.new do
32
- client = Pigato::Client.new(broker, { :autostart => true })
33
- loop do
34
- @@mtx.lock
35
- begin
36
- if Time.now > @@global_heartbeat_at
37
- @@sockets_ids.each do |iid, sid|
38
- request = [Pigato::C_CLIENT, Pigato::W_HEARTBEAT, "worker", sid]
39
- msg = ZMQ::Message.new
40
- request.reverse.each{|p| msg.push(ZMQ::Frame(p))}
41
- client.send msg
31
+ @@mtx.lock
32
+ if @@global_thread.nil?
33
+ @@global_thread = true
34
+ Thread.new do
35
+ client = Pigato::Client.new(broker, { :autostart => true })
36
+ loop do
37
+ @@mtx.lock
38
+ begin
39
+ if Time.now > @@global_heartbeat_at
40
+ @@sockets_ids.each do |iid, sid|
41
+ request = [Pigato::C_CLIENT, Pigato::W_HEARTBEAT, "worker", sid]
42
+ msg = ZMQ::Message.new
43
+ request.reverse.each{|p| msg.push(ZMQ::Frame(p))}
44
+ client.send msg
45
+ end
46
+ @@global_heartbeat_at = Time.now + 2.5
42
47
  end
43
- @@global_heartbeat_at = Time.now + 2.5
48
+ rescue => e
49
+ puts e
44
50
  end
45
- rescue => e
46
- puts e
51
+ @@mtx.unlock
52
+ sleep 2.5
47
53
  end
48
- @@mtx.unlock
49
- sleep 2.5
50
54
  end
51
55
  end
56
+ @@mtx.unlock
52
57
  end
53
58
 
54
59
  def reply reply
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pigato
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.9
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paolo Ardoino