pthread 0.0.5 → 0.0.6

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