kryten 0.3.2 → 0.3.3

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