daemonizer 0.1.2 → 0.1.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.
- data/README.md +2 -0
- data/VERSION +1 -1
- data/daemonizer.gemspec +1 -1
- data/lib/daemonizer/config.rb +2 -1
- data/lib/daemonizer/dsl.rb +5 -1
- data/lib/daemonizer/engine.rb +8 -0
- metadata +3 -3
data/README.md
CHANGED
@@ -84,6 +84,8 @@ Usage
|
|
84
84
|
log_file "log/daemonizer.log" #relative to Demfile
|
85
85
|
|
86
86
|
handler MyBackgroundSolution::DaemonizerHandler
|
87
|
+
|
88
|
+
not_cow_friendly #disable Copy-On-Write friendly (enabled by default)
|
87
89
|
|
88
90
|
#automatically-parsed option by daemonizer
|
89
91
|
set_option :queue do |worker_id, worker_count|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
data/daemonizer.gemspec
CHANGED
data/lib/daemonizer/config.rb
CHANGED
@@ -42,6 +42,7 @@ module Daemonizer
|
|
42
42
|
@options[:pid_file] ||= "pid/#{@pool}.pid"
|
43
43
|
@options[:handler] ||= nil
|
44
44
|
@options[:handler_options] ||= {}
|
45
|
+
@options[:cow_friendly] = true if @options[:cow_friendly].nil?
|
45
46
|
end
|
46
47
|
|
47
48
|
def validate
|
@@ -62,7 +63,7 @@ module Daemonizer
|
|
62
63
|
end
|
63
64
|
end
|
64
65
|
|
65
|
-
[:engine, :workers, :poll_period, :root].each do |method|
|
66
|
+
[:engine, :workers, :poll_period, :root, :cow_friendly].each do |method|
|
66
67
|
define_method method do
|
67
68
|
@options[method.to_sym]
|
68
69
|
end
|
data/lib/daemonizer/dsl.rb
CHANGED
data/lib/daemonizer/engine.rb
CHANGED
@@ -26,6 +26,14 @@ module Daemonizer
|
|
26
26
|
end
|
27
27
|
|
28
28
|
begin
|
29
|
+
if @config.cow_friendly
|
30
|
+
if GC.respond_to?(:copy_on_write_friendly=)
|
31
|
+
GC.copy_on_write_friendly = true
|
32
|
+
logger.info "Enabling COW-friendly feature"
|
33
|
+
else
|
34
|
+
logger.info "COW-friendly feature is not supported by currently used ruby version"
|
35
|
+
end
|
36
|
+
end
|
29
37
|
@config.handler.logger = logger
|
30
38
|
@config.handler.before_init(init_block)
|
31
39
|
rescue Exception => e
|
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: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Gleb Pomykalov
|