pthread 0.0.5 → 0.0.6

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: 213bac2cad94dec43de4335dc960856159285579
4
- data.tar.gz: 793f6c5ca5e1e5d6eaad64f071996855e7a9ef8a
3
+ metadata.gz: dd1570a572376007e47ce0749ed8bdb17d049390
4
+ data.tar.gz: 9fdeb6e2ae5d6d0e83a2bd4cdc4d1828689379a4
5
5
  SHA512:
6
- metadata.gz: 7c7d7a9047c9c841addadbadf6184e4f4255b9422538c437c35c32a456ad037d0867eaea3c2b8268ace446bab6a8c86610ecc3e887e5721fdbd13330e4e7497c
7
- data.tar.gz: da0961a42d8420cd43f4b56cd6a4b995f0e33b3b5f2d389509f0e14f31e24545053bb79293c2ed45c3ebfe478e76896984e5c5b8d247b44cb126e9c6d999f673
6
+ metadata.gz: 1e61ea8d5a55760ab2f9fa00abc8ca07945916e358ce6d21ae7f5ef1579cfba1cf873dce80266c91dadb442c53bed0a59412dbbc43be36d62f7834b49b4b9326
7
+ data.tar.gz: ac8986d1b4bec161083d3184239dd168dd2e243b9dadae47ced0006209dcbf8425faed7b1d64af41f69e9fd848625e9caa9d1d9523e9d12e47a8a66d8a78b52f
data/README.md CHANGED
@@ -56,6 +56,11 @@ Exception is raise by accesing pthread's value.
56
56
 
57
57
  pthread.value # => raise exception
58
58
 
59
+ ### Stop executors
60
+ To stop executors on the server machine simply run
61
+
62
+ Pthread::Pthread.kill_executors
63
+
59
64
  ## Contributing
60
65
 
61
66
  1. Fork it
@@ -1,7 +1,8 @@
1
1
  require 'rinda/tuplespace'
2
2
 
3
3
  class Pthread::Pthread
4
- @@ts = Rinda::TupleSpace.new
4
+ @@ts = Rinda::TupleSpace.new
5
+ @@pids = []
5
6
 
6
7
  def self.start_service(host)
7
8
  @@host = host
@@ -10,7 +11,7 @@ class Pthread::Pthread
10
11
 
11
12
  def self.add_executors(count = 1, queue=nil)
12
13
  count.times do
13
- fork do
14
+ @@pids << fork do
14
15
  DRb.stop_service
15
16
  Pthread::PthreadExecutor.new(@@host, queue)
16
17
  end
@@ -21,6 +22,10 @@ class Pthread::Pthread
21
22
  add_executors(1, queue)
22
23
  end
23
24
 
25
+ def self.kill_executors
26
+ Process.kill 'HUP', *@@pids
27
+ end
28
+
24
29
  def initialize(job)
25
30
  @@ts.write([self.object_id, job[:queue], job[:code], job[:context]])
26
31
  end
@@ -1,3 +1,3 @@
1
1
  module Pthread
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -11,7 +11,7 @@ describe Pthread::Pthread do
11
11
  end
12
12
 
13
13
  before do
14
- Pthread::Pthread.start_service 'localhost:12345'
14
+ Pthread::Pthread.start_service 'localhost:54321'
15
15
  Pthread::Pthread.add_executor 'tasks'
16
16
  end
17
17
 
@@ -32,4 +32,8 @@ describe Pthread::Pthread do
32
32
  expect { pthread.value }.to raise_error ZeroDivisionError
33
33
  end
34
34
  end
35
+
36
+ after(:all) do
37
+ Pthread::Pthread.kill_executors
38
+ end
35
39
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pthread
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikita Cernovs