kryten 0.3.2 → 0.3.3

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: 041e7f2031ca1cbce58860c7c32dd071043a659c
4
- data.tar.gz: 2f033e5a142a444fa4dbea7397afde548cc6c03b
3
+ metadata.gz: 3d989c0ed5a543f5e3f83001af954b435d45d7e9
4
+ data.tar.gz: 6232dc306b8b94fd16697fabb2c93eaba31154ff
5
5
  SHA512:
6
- metadata.gz: 775b1c27de3eb3c17fc38ab0f0ce78c589f87f4e8e5bd4ab0ccdc90e3e19757ad6301ac9e1f29dee29cdecfc409f07b0a814de85dca74006f4249a63bf9d803f
7
- data.tar.gz: 9b9abaef21f0833e613fcbb3d656386c8a65ed5cd5ac6338097a4fd54854d6f81a4757c94f0494c04c8c36cf51166e3b565dc405d61e88991c601807329b607d
6
+ metadata.gz: 329b9b02f526720354e2e6d22c27a41c78aaea03506f7b6d15b94f1f683c6c2e0b403815dcc4a4d01eca2b8ceaccc3893e12d3137c5a9e732051acce2a890a07
7
+ data.tar.gz: eaa90fd2386402647a249eaf899fa0bd268ad3c3059bbf31adc5f9baf8dce6e923b462626cf5e32502b5213e96bdfe0f46db2bd6ca9310f9f38e8b048df0acff
data/bin/console CHANGED
@@ -46,7 +46,7 @@ work = WorkList.new('visor').workers do
46
46
  end ]
47
47
  end
48
48
 
49
- threaded_work = ThreadVisor.workers do
49
+ threaded_work = ThreadedVisor.workers do
50
50
  [ ThreadedWork.new('thread work1'),
51
51
  ThreadedWork.new('thread work2'),
52
52
  ThreadedWork.new('thread work3').workers do
@@ -0,0 +1,64 @@
1
+ require 'drb'
2
+
3
+ class Kryten::RemoteControl
4
+ include DRbUndumped
5
+ attr_reader :job, :workers
6
+ def initialize(job)
7
+ puts "Initialized #{job.name} server on pid #{Process.pid}"
8
+ @job = job
9
+ Signal.trap("TERM") { shutdown }
10
+ Signal.trap("INT") { shutdown }
11
+ end
12
+
13
+ def start name=nil
14
+ if name
15
+ worker(name).start_work
16
+ else
17
+ puts "Starting #{job.name}"
18
+ job.start_work
19
+ end
20
+ end
21
+
22
+ def stop name=nil
23
+ if name
24
+ worker(name).stop_work
25
+ else
26
+ puts "Stopping #{job.name}"
27
+ val = job.stop_work
28
+ sleep job.timer
29
+ return val
30
+ end
31
+ end
32
+
33
+ def shutdown
34
+ puts "Terminating #{job.name}"
35
+ stop
36
+ sleep 2
37
+ exit 0
38
+ end
39
+
40
+ def status name=nil
41
+ if name
42
+ worker(name).status
43
+ else
44
+ job.status
45
+ end
46
+ end
47
+
48
+ def worker name
49
+ job.workers.detect {|w| w.name == name}
50
+ end
51
+
52
+ def workers
53
+ job.workers
54
+ end
55
+
56
+ def started
57
+ job.workers.select(&:started)
58
+ end
59
+
60
+ def stopped
61
+ job.workers.reject(&:started)
62
+ end
63
+
64
+ end
@@ -1,3 +1,3 @@
1
1
  module Kryten
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
data/lib/kryten.rb CHANGED
@@ -7,7 +7,9 @@ require "kryten/helper"
7
7
 
8
8
  require "kryten/weaver"
9
9
  require "kryten/daemon"
10
+ require "kryten/remote"
10
11
 
12
+ # TASK
11
13
  module Kryten::Task
12
14
  include Kryten::Runner
13
15
  include Kryten::Lawger
@@ -19,7 +21,22 @@ module Kryten::ThreadedTask
19
21
  include Kryten::Weaver
20
22
  end
21
23
 
22
- class Kryten::ThreadVisor
24
+ module Kryten::BackgroundTask
25
+ include Kryten::Task
26
+ include Kryten::Daemon
27
+ end
28
+
29
+
30
+ # JOB
31
+ class Kryten::Job
32
+ include Kryten::BackgroundTask
33
+ end
34
+
35
+ class Kryten::ThreadedJob
36
+ include Kryten::ThreadedTask
37
+ end
38
+
39
+ class Kryten::ThreadedVisor
23
40
  extend Kryten::ThreadedTask
24
41
  def self.setup
25
42
  Signal.trap("INT", proc { stop_work })
@@ -27,8 +44,3 @@ class Kryten::ThreadVisor
27
44
  super
28
45
  end
29
46
  end
30
-
31
- module Kryten::BackgroundTask
32
- include Kryten::Task
33
- include Kryten::Daemon
34
- end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kryten
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zsolt Fekete
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-04-01 00:00:00.000000000 Z
11
+ date: 2016-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -130,6 +130,7 @@ files:
130
130
  - lib/kryten/environment.rb
131
131
  - lib/kryten/helper.rb
132
132
  - lib/kryten/lawger.rb
133
+ - lib/kryten/remote.rb
133
134
  - lib/kryten/runner.rb
134
135
  - lib/kryten/summoner.rb
135
136
  - lib/kryten/version.rb