pigato 0.4.9 → 0.5.0

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: 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