daemonizer 0.0.3 → 0.0.4

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
data/daemonizer.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{daemonizer}
8
- s.version = "0.0.3"
8
+ s.version = "0.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Gleb Pomykalov"]
@@ -71,10 +71,20 @@ module Daemonizer
71
71
  invoke :start, pool_name
72
72
  end
73
73
 
74
- desc "status", "Print pool status"
75
- def status(pool_name = nil)
76
- return true
77
- end
74
+ desc "debug", "Debug pool (do not demonize)"
75
+ def debug(pool_name = nil)
76
+ puts "You should supply pool_name to debug" if pool_name.nil?
77
+ control_pools_loop(pool_name, "execution ended", options[:demfile]) do |pool|
78
+ STDOUT.sync = true
79
+ print_pool pool.name, "Debugging pool: "
80
+
81
+ engine = Engine.new(pool)
82
+ engine.debug!
83
+
84
+ print_pool pool.name, " Done!"
85
+ exit(0)
86
+ end
87
+ return true end
78
88
 
79
89
  private
80
90
  def control_pools_loop(pool_name, message = nil, demfile = nil, &block)
@@ -2,7 +2,7 @@ module Daemonizer
2
2
  class Engine
3
3
  attr_reader :config
4
4
 
5
- def initialize(config)
5
+ def initialize(config, debug = false)
6
6
  @config = config
7
7
  end
8
8
 
@@ -19,14 +19,14 @@ module Daemonizer
19
19
  @config.after_init.call(logger, process_id, @config.workers)
20
20
  end
21
21
  rescue Exception => e
22
- logger.fatal get_exception(e)
22
+ logger.fatal e.to_s
23
23
  end
24
24
  end
25
25
 
26
26
  begin
27
27
  @config.before_init.call(@config.logger, init_block)
28
28
  rescue Exception => e
29
- logger.fatal get_exception(e)
29
+ logger.fatal e.to_s
30
30
  end
31
31
  # Start monitoring loop
32
32
 
@@ -34,25 +34,24 @@ module Daemonizer
34
34
  @pm.monitor_workers
35
35
  end
36
36
 
37
- =begin
38
- def debug_loop!(loop_name)
39
- @pm = Daemonizer::ProcessManager.new(global_config, Daemonizer.logger)
40
- loop_config = loops_config[loop_name] || {}
37
+ def debug!
38
+ logger.outputters = Outputter.stdout
41
39
 
42
- # Adjust loop config values before starting it in debug mode
43
- loop_config['workers_number'] = 1
44
- loop_config['debug_loop'] = true
45
-
46
- # Load loop class
47
- unless klass = load_loop_class(loop_name, loop_config)
48
- puts "Can't load loop class!"
49
- return false
40
+ init_block = Proc.new do
41
+ begin
42
+ @config.after_init.call(logger, 1, 1)
43
+ rescue Exception => e
44
+ logger.fatal e.to_s
45
+ end
50
46
  end
51
47
 
52
- # Start the loop
53
- start_loop(loop_name, klass, loop_config)
48
+ begin
49
+ @config.before_init.call(@config.logger, init_block)
50
+ rescue Exception => e
51
+ logger.fatal e.to_s
52
+ end
54
53
  end
55
- =end
54
+
56
55
  private
57
56
  def setup_signals
58
57
  stop = proc {
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daemonizer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Gleb Pomykalov