daemonizer 0.3.8 → 0.3.9
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/Rakefile +0 -1
- data/VERSION +1 -1
- data/daemonizer.gemspec +2 -5
- data/lib/daemonizer.rb +24 -23
- data/lib/daemonizer/config.rb +16 -0
- data/lib/daemonizer/engine.rb +1 -1
- data/lib/daemonizer/worker.rb +1 -1
- metadata +6 -22
data/Rakefile
CHANGED
@@ -10,7 +10,6 @@ begin
|
|
10
10
|
gemspec.email = "glebpom@gmail.com"
|
11
11
|
gemspec.homepage = "http://github.com/glebpom/daemonizer"
|
12
12
|
gemspec.authors = ["Gleb Pomykalov"]
|
13
|
-
gemspec.add_dependency('log4r', '>= 1.1.8')
|
14
13
|
gemspec.add_dependency('thor', '>= 0.13.7')
|
15
14
|
end
|
16
15
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.9
|
data/daemonizer.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{daemonizer}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.9"
|
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"]
|
12
|
-
s.date = %q{2010-07-
|
12
|
+
s.date = %q{2010-07-16}
|
13
13
|
s.default_executable = %q{daemonizer}
|
14
14
|
s.description = %q{Inspired by bundler and rack. Mostly built on top of Alexey Kovyrin's loops code. http://github.com/kovyrin/loops}
|
15
15
|
s.email = %q{glebpom@gmail.com}
|
@@ -51,14 +51,11 @@ Gem::Specification.new do |s|
|
|
51
51
|
s.specification_version = 3
|
52
52
|
|
53
53
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
54
|
-
s.add_runtime_dependency(%q<log4r>, [">= 1.1.8"])
|
55
54
|
s.add_runtime_dependency(%q<thor>, [">= 0.13.7"])
|
56
55
|
else
|
57
|
-
s.add_dependency(%q<log4r>, [">= 1.1.8"])
|
58
56
|
s.add_dependency(%q<thor>, [">= 0.13.7"])
|
59
57
|
end
|
60
58
|
else
|
61
|
-
s.add_dependency(%q<log4r>, [">= 1.1.8"])
|
62
59
|
s.add_dependency(%q<thor>, [">= 0.13.7"])
|
63
60
|
end
|
64
61
|
end
|
data/lib/daemonizer.rb
CHANGED
@@ -2,9 +2,7 @@ require 'rubygems'
|
|
2
2
|
require 'yaml'
|
3
3
|
require 'erb'
|
4
4
|
require 'pathname'
|
5
|
-
require '
|
6
|
-
|
7
|
-
include Log4r
|
5
|
+
require 'logger'
|
8
6
|
|
9
7
|
module Daemonizer
|
10
8
|
|
@@ -33,36 +31,39 @@ module Daemonizer
|
|
33
31
|
end
|
34
32
|
end
|
35
33
|
|
34
|
+
def self.logger_context=(str)
|
35
|
+
@@logger_context = str
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.logger_context
|
39
|
+
@@logger_context
|
40
|
+
end
|
41
|
+
|
36
42
|
def self.init_logger(name, log_file)
|
37
|
-
@@
|
38
|
-
|
39
|
-
|
40
|
-
@@logger.outputters = outputter
|
41
|
-
@@logger.level = INFO
|
43
|
+
@@logger_file = File.open(log_file, File::WRONLY | File::APPEND)
|
44
|
+
@@logger = Logger.new(@@logger_file)
|
45
|
+
set_logger_common_options
|
42
46
|
end
|
43
47
|
|
44
|
-
def self.
|
45
|
-
|
46
|
-
@@logger.
|
47
|
-
|
48
|
-
o.close
|
48
|
+
def self.set_logger_common_options
|
49
|
+
@@logger.sev_threshold = Logger::INFO
|
50
|
+
@@logger.formatter = Proc.new do |severity, datetime, progname, msg|
|
51
|
+
"%s %s -- %s -- %s\n" % [ datetime.strftime("%Y-%m-%d %H:%M:%S"), severity, Daemonizer.logger_context, msg ]
|
49
52
|
end
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
+
end
|
54
|
+
|
55
|
+
def self.reopen_log_file
|
56
|
+
true #do not need it in append-only mode
|
53
57
|
end
|
54
58
|
|
55
59
|
def self.flush_logger
|
56
|
-
@@
|
57
|
-
o.flush
|
58
|
-
end
|
60
|
+
@@logger_file.flush
|
59
61
|
end
|
60
62
|
|
61
63
|
def self.init_console_logger(name)
|
62
|
-
@@
|
63
|
-
|
64
|
-
|
65
|
-
@@logger.outputters = outputter
|
64
|
+
@@logger_file = STDOUT
|
65
|
+
@@logger = Logger.new(@@logger_file)
|
66
|
+
set_logger_common_options
|
66
67
|
end
|
67
68
|
|
68
69
|
def self.logger
|
data/lib/daemonizer/config.rb
CHANGED
@@ -47,6 +47,22 @@ module Daemonizer
|
|
47
47
|
raise ConfigError, "start should be set" if @options[:start].nil?
|
48
48
|
raise ConfigError, "start should have block" unless @options[:start].is_a?(Proc)
|
49
49
|
end
|
50
|
+
|
51
|
+
# file validation
|
52
|
+
if File.exist?(self.log_file)
|
53
|
+
if !File.file?(self.log_file)
|
54
|
+
raise ConfigError, "'#{self.log_file}' is not a regular file"
|
55
|
+
elsif !File.writable?(self.log_file)
|
56
|
+
raise ConfigError, "'#{self.log_file}' is not writable!"
|
57
|
+
end
|
58
|
+
else # ensure directory is writable
|
59
|
+
dir = File.dirname(self.log_file)
|
60
|
+
if not File.writable?(dir)
|
61
|
+
raise ConfigError, "'#{dir}' is not writable!"
|
62
|
+
end
|
63
|
+
File.open(self.log_file, 'w') { |f| f.write('') } #creating empty file
|
64
|
+
end
|
65
|
+
|
50
66
|
end
|
51
67
|
|
52
68
|
[:workers, :poll_period, :root, :cow_friendly].each do |method|
|
data/lib/daemonizer/engine.rb
CHANGED
data/lib/daemonizer/worker.rb
CHANGED
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:
|
4
|
+
hash: 1
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 9
|
10
|
+
version: 0.3.9
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Gleb Pomykalov
|
@@ -15,29 +15,13 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-07-
|
18
|
+
date: 2010-07-16 00:00:00 +04:00
|
19
19
|
default_executable: daemonizer
|
20
20
|
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
name: log4r
|
23
|
-
prerelease: false
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 1
|
33
|
-
- 8
|
34
|
-
version: 1.1.8
|
35
|
-
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
21
|
- !ruby/object:Gem::Dependency
|
38
22
|
name: thor
|
39
23
|
prerelease: false
|
40
|
-
requirement: &
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
41
25
|
none: false
|
42
26
|
requirements:
|
43
27
|
- - ">="
|
@@ -49,7 +33,7 @@ dependencies:
|
|
49
33
|
- 7
|
50
34
|
version: 0.13.7
|
51
35
|
type: :runtime
|
52
|
-
version_requirements: *
|
36
|
+
version_requirements: *id001
|
53
37
|
description: Inspired by bundler and rack. Mostly built on top of Alexey Kovyrin's loops code. http://github.com/kovyrin/loops
|
54
38
|
email: glebpom@gmail.com
|
55
39
|
executables:
|