daemon-ogre 1.5.0 → 2.0.0

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.
@@ -1,19 +0,0 @@
1
- require_relative File.join '..','lib','daemon-ogre.rb'
2
-
3
- # start as
4
- # ruby sample_daemon_app.rb start daemon
5
- #
6
- # to check it's running
7
- # ps aux | grep MySuperAppName
8
-
9
- DaemonOgre.start :name => "MySuperAppName",
10
- :log_path => File.join('.','var','log','log_file_name'),
11
- :pid_path => File.join('.','var','pid','pid_file_name'),
12
- :terminate => true
13
-
14
- 10.times do
15
-
16
- puts Time.now
17
- sleep 1
18
-
19
- end
data/files.rb DELETED
@@ -1,24 +0,0 @@
1
- ### Get Files from dir
2
- begin
3
-
4
- files_to_be_loaded = %w[version.rb]
5
-
6
- SpecFiles= Array.new
7
-
8
- Dir[File.expand_path(File.join(File.dirname(__FILE__),"**","*"))].sort.uniq.each do |one_file_name|
9
- one_file_name = File.expand_path one_file_name
10
- file_name = one_file_name[(File.expand_path(File.dirname(__FILE__)).to_s.length+1)..(one_file_name.length-1)]
11
-
12
- if !one_file_name.include?("pkg")
13
- if !File.directory? file_name
14
- SpecFiles.push file_name
15
- STDOUT.puts file_name if $DEBUG
16
- if files_to_be_loaded.include? one_file_name.split(File::SEPARATOR).last
17
- load one_file_name
18
- end
19
- end
20
- end
21
-
22
- end
23
-
24
- end
@@ -1,40 +0,0 @@
1
- #DaemonOgreBody
2
- begin
3
- module DaemonOgre
4
-
5
- #config
6
- begin
7
- class App
8
- class << self
9
- attr_accessor :log_path,
10
- :pid_path,
11
- :daemon_stderr,
12
- :exceptions,
13
- :exlogger,
14
- :app_name,
15
- :port,
16
- :terminate
17
- end
18
- end
19
- end
20
-
21
- #default
22
- begin
23
- App.log_path = "./var/log/logfile.log"
24
- App.pid_path = "./var/pid/pidfile.pid"
25
- App.terminate = false
26
- App.port = 80
27
- App.app_name = $0
28
-
29
- begin
30
- ['daemon_stderr','exceptions','exlogger'].each do |one_log|
31
-
32
- App.__send__(one_log+"=",clone_mpath(App.log_path,one_log+".log"))
33
-
34
- end
35
- end
36
-
37
- end
38
-
39
- end
40
- end
@@ -1,93 +0,0 @@
1
- #monkey patch
2
- begin
3
- def process_running?(input)
4
- DaemonOgre.process_running?(input)
5
- end
6
- def require_directory(directory,*args)
7
- DaemonOgre.load_directory(directory,{:monkey_patch => 1},*args)
8
- end
9
- def require_ymls(directory)
10
- DaemonOgre.load_ymls(
11
- directory,
12
- {:monkey_patch => 1}
13
- )
14
- end
15
- def get_port(port,max_port=65535 ,host="0.0.0.0")
16
- DaemonOgre.get_port(port,max_port,host)
17
- end
18
- def exlogger(error_msg,*args)
19
- arg=Hash[*args]
20
- arg[:prefix] = String.new if arg[:prefix].nil?
21
- arg[:path] = DaemonOgre::App.exlogger if arg[:path].nil?
22
- DaemonOgre.create_on_filesystem arg[:path],
23
- 'a+'
24
- DaemonOgre.error_logger(error_msg,arg[:prefix],arg[:path])
25
- end
26
-
27
-
28
- class Exception
29
- def logger
30
- DaemonOgre.create_on_filesystem DaemonOgre::App.exceptions,
31
- 'a+'
32
- DaemonOgre.error_logger(self.backtrace,self,DaemonOgre::App.exceptions)
33
- end
34
- end
35
- class File
36
- def self.create!(file,optionable_data=nil,optionable_file_mod="w")
37
- DaemonOgre.create_on_filesystem file,
38
- optionable_file_mod,
39
- optionable_data
40
- end
41
- end
42
- class Class
43
- def class_methods
44
- self.methods - Object.methods
45
- end
46
- def self.class_methods
47
- self.methods - Object.methods
48
- end
49
- end
50
- class Rnd
51
- class << self
52
- def string(length,amount=1)
53
- mrg = String.new
54
- first_string = true
55
- amount.times do
56
- a_string = Random.rand(length)
57
- a_string == 0 ? a_string += 1 : a_string
58
- mrg_prt = (0...a_string).map{ ('a'..'z').to_a[rand(26)] }.join
59
- first_string ? mrg += mrg_prt : mrg+= " #{mrg_prt}"
60
- first_string = false
61
- end
62
- return mrg
63
- end
64
- def integer(length)
65
- Random.rand(length)
66
- end
67
- def boolean
68
- rand(2) == 1
69
- end
70
- def date from = Time.at(1114924812), to = Time.now
71
- rand(from..to)
72
- end
73
- end
74
- end
75
- class Array
76
- def index_of(target_element)
77
- array = self
78
- hash = Hash[array.map.with_index.to_a]
79
- return hash[target_element]
80
- end
81
- end
82
- class Hash
83
- #pass single or array of keys, which will be removed, returning the remaining hash
84
- def remove!(*keys)
85
- keys.each{|key| self.delete(key) }
86
- self
87
- end
88
- #non-destructive version
89
- def remove(*keys)
90
- self.dup.remove!(*keys)
91
- end
92
- end
93
- end
@@ -1,199 +0,0 @@
1
- #DaemonOgreBody
2
- begin
3
- module DaemonOgre
4
-
5
- #server_model
6
- begin
7
- class Server
8
- @@startup = false
9
- class << self
10
-
11
- def daemon
12
- puts "#{$0} daemon is watching you..."
13
- DaemonOgre.create_on_filesystem DaemonOgre::App.pid_path,
14
- 'a+'
15
- DaemonOgre.create_on_filesystem DaemonOgre::App.log_path,
16
- 'a+'
17
- DaemonOgre.create_on_filesystem DaemonOgre::App.daemon_stderr,
18
- 'a+'
19
-
20
-
21
- DaemonOgre::Daemon.start fork,
22
- DaemonOgre::App.pid_path,
23
- DaemonOgre::App.log_path,
24
- DaemonOgre::App.daemon_stderr
25
- end
26
-
27
- def debug
28
- $DEBUG = true
29
- end
30
-
31
- def help
32
- puts "\nyou can use one of these commands: "+\
33
- "\nstart daemon -d stop restart log -l pid -p port -tcp status reset help"+\
34
- "\n==============================================================================DESC======>>"
35
- puts "start\t\t\t\t=> this will start the #{$0}"+\
36
- "\ndaemon\t\t\t\t=> this will make is daemon process"+\
37
- "\nstop\t\t\t\t=> this will kill the last process with pidfile"+\
38
- "\nrestart\t\tor reset\t=> hard restart"+\
39
- "\nlog\t\tor -l\t\t=> logfile place"+\
40
- "\npid\t\tor -p\t\t=> pid file place (if you want set the filename as well, put .pid or .txt in the end)"+\
41
- "\nport\t\tor -tcp\t\t=> user definiated port"+\
42
- "\nstatus\t\t\t\t=> last process alive?"+\
43
- "\ndebug\t\tor -d\t\t=> show debug log (you can make your own by using 'puts 'xy' if $DEBUG' "+\
44
- "\nhelp\t\t\t\tgive you this msg :)\n"
45
- DaemonOgre::App.terminate=true
46
- end
47
-
48
- def start
49
- if File.exist?(File.expand_path(App.pid_path))
50
- text = File.open(File.expand_path(App.pid_path)).read
51
- terminate_on_command = Array.new
52
- text.each_line do |line|
53
- terminate_on_command.push DaemonOgre.process_running?(line)
54
- end
55
- end
56
-
57
- if !terminate_on_command.nil?
58
- if !terminate_on_command.include?(true)
59
- @@startup = true
60
- else
61
- puts "sorry but process is already running in this specification"
62
- Process.exit
63
- end
64
- else
65
- @@startup = true
66
- end
67
- end
68
-
69
- def stop
70
- puts "#{$0} is going to be FacePalmed..."
71
- Daemon.kill DaemonOgre::App.pid_path
72
- kill_with_pid
73
- File.open(DaemonOgre::App.pid_path, "w").write("")
74
- DaemonOgre::App.terminate=true
75
-
76
- end
77
-
78
- def restart
79
-
80
- Daemon.kill DaemonOgre::App.pid_path
81
- kill_with_pid
82
- File.open(DaemonOgre::App.pid_path, "w").write("")
83
- start
84
-
85
- end
86
-
87
- def kill_with_pid
88
- begin
89
- if File.exists?(DaemonOgre::App.pid_path)
90
- puts "PidFile found, processing..." if $DEBUG
91
- File.open(DaemonOgre::App.pid_path).each_line do |row|
92
- begin
93
- Process.kill 'TERM', row.to_i
94
- puts "terminated process at: #{row}" if $DEBUG
95
- rescue Exception => ex
96
- puts "At process: #{row}, #{ex}" if $DEBUG
97
- end
98
- end
99
- else
100
- system "ps -ef | grep #{$0}"
101
- #system "netstat --listen"
102
- #puts "\nLepton is around 10300-10399"
103
- end
104
- rescue Exception => ex
105
- puts "Exception has occured: #{ex}"
106
- end
107
- end
108
-
109
- def continue?
110
- Process.exit if !@@startup
111
- end
112
-
113
- def set_log(param)
114
- ARGV.each do |one_parameter|
115
- if one_parameter == param
116
- DaemonOgre::App.log_path= ARGV[ARGV.index(one_parameter)+1]
117
- end
118
- end
119
- end
120
-
121
- def set_pid(param)
122
- ARGV.each do |one_parameter|
123
- if one_parameter == param
124
- if ARGV[ARGV.index(one_parameter)+1].to_s.include?(".pid") ||\
125
- ARGV[ARGV.index(one_parameter)+1].to_s.include?(".txt")
126
- DaemonOgre::App.pid_path= ARGV[ARGV.index(one_parameter)+1]
127
- else
128
- DaemonOgre::App.pid_path= ARGV[ARGV.index(one_parameter)+1].to_s+"lepton.pid"
129
- end
130
- end
131
- end
132
- end
133
-
134
- def set_port(param)
135
- ARGV.each do |one_parameter|
136
- if one_parameter == param
137
- DaemonOgre::App.port= ARGV[ARGV.index(one_parameter)+1]
138
- end
139
- end
140
- end
141
-
142
- def pid
143
- begin
144
- if !DaemonOgre::App.pid_path.nil?
145
- DaemonOgre::App.pid_path+="lepton.pid" if !DaemonOgre::App.pid_path.include?(".pid")
146
- pre_path = File.dirname "#{File.dirname(__FILE__)}/#{DaemonOgre::App.pid_path}"
147
- pre_path_array = pre_path.split('/') - [ pre_path[0].to_s ]
148
- if !Dir.exists?(pre_path)
149
- at_now = String.new
150
- pre_path_array.each do |one_dir_to_be_made|
151
- #at_now show the place where we are now
152
- at_now == "" ? at_now += one_dir_to_be_made : at_now += "/"+one_dir_to_be_made
153
- if !Dir.exists?("#{File.dirname(__FILE__)}/#{at_now}")
154
- Dir.mkdir("#{File.dirname(__FILE__)}/#{at_now}")
155
- end
156
- end
157
- end
158
- File.new("#{File.dirname(__FILE__)}/#{DaemonOgre::App.pid_path}", "a+").write Process.pid.to_s+"\n"
159
- end
160
- rescue Exception => ex
161
- ex.logger
162
- end
163
- end
164
-
165
- def pid_check
166
- if File.exist?(File.expand_path(App.pid_path))
167
- puts "checking pidfile:"
168
- text = File.open(File.expand_path(App.pid_path)).read
169
- text.each_line do |line|
170
- puts "#{line.chomp}:\t#{DaemonOgre.process_running?(line)}"
171
- end
172
- else
173
- puts "missing pid file (with default path) "+\
174
- "\nif you specificated one manualy pls type"+\
175
- " the path first in with '-p xy/xzt.pid'"
176
- end
177
- DaemonOgre::App.terminate=true
178
- end
179
-
180
- def clear
181
-
182
- logs = ['loh_path','daemon_stderr','exceptions','exlogger']
183
-
184
- logs.each do |logname|
185
- begin
186
- File.delete DaemonOgre::App.__send__(logname)
187
- rescue Exception => ex
188
- puts ex if $DEBUG
189
- end
190
- end
191
-
192
- end
193
-
194
- end
195
- end
196
- end
197
-
198
- end
199
- end
@@ -1,85 +0,0 @@
1
- module DaemonOgre
2
- def self.start(*args)
3
- arg = Hash[*args]
4
-
5
- ##defaults:
6
- #arg[:log_path]
7
- #arg[:pid_path]
8
-
9
- #arg[:name]
10
- #arg[:port]
11
-
12
- #arg[:terminate]
13
- #arg[:clear]
14
-
15
- begin
16
-
17
- begin
18
-
19
- App.pid_path = arg[:pid_path] if !arg[:pid_path].nil?
20
- App.log_path = arg[:log_path] if !arg[:log_path].nil?
21
-
22
- $0 = arg[:name] if !arg[:name].nil?
23
- App.port = arg[:port] if !arg[:port].nil?
24
-
25
- App.terminate = arg[:terminate] if !arg[:terminate].nil?
26
-
27
- end
28
-
29
-
30
- if ARGV.nil?
31
- puts "No server task has been given!"
32
- DaemonOgre::Server.help
33
- end
34
- serv_load = Array.new
35
- ARGV.each do |one_argv_parameter|
36
- case one_argv_parameter.downcase
37
- when "start" then serv_load.push "start"
38
- when "daemon" then serv_load.push "daemon"
39
- when "-d" then DaemonOgre::Server.debug
40
- when "stop" then serv_load.push "stop"
41
- when "restart" then serv_load.push "restart"
42
- when "reset" then serv_load.push "restart"
43
- when "debugger" then serv_load.push "debugger"
44
- when "log" then DaemonOgre::Server.set_log "log"
45
- when "pid" then DaemonOgre::Server.set_pid "pid"
46
- when "-l" then DaemonOgre::Server.set_log "-l"
47
- when "-p" then DaemonOgre::Server.set_pid "-p"
48
- when "port" then DaemonOgre::Server.set_port "port"
49
- when "-tcp" then DaemonOgre::Server.set_port "-tcp"
50
- when "status" then DaemonOgre::Server.pid_check
51
- when "-s" then DaemonOgre::Server.pid_check
52
- when "help" then DaemonOgre::Server.help
53
- when "debug" then DaemonOgre::Server.debug
54
- when "clear" then serv_load.push "clear"
55
-
56
- end
57
- end
58
-
59
- #server_TODO
60
- begin
61
- DaemonOgre::Server.restart if serv_load.include? "restart"
62
- DaemonOgre::Server.start if serv_load.include? "start"
63
- DaemonOgre::Server.stop if serv_load.include? "stop"
64
- DaemonOgre::Server.clear if serv_load.include? "clear"
65
- DaemonOgre::Server.daemon if serv_load.include? "daemon"
66
- end
67
-
68
- #Continue our program ? : )
69
- DaemonOgre::Server.continue? if DaemonOgre::App.terminate
70
-
71
- begin
72
- require "debugger" ;debugger if serv_load.include? "debugger"
73
- rescue Exception => ex
74
- puts "you need to install debugger gem => gem install debugger\n#{ex}"
75
- end
76
-
77
- end
78
- end
79
- def self.help
80
- puts "\n##defaults:\narg[:log_path]\tlog path and"+\
81
- " file name\narg[:pid_path]\tpid path and file n"+\
82
- "ame\narg[:terminate]\tstart command required to"+\
83
- " continue? 'ruby xy.rb start'\narg[:name]\tapplication names as daemon process"
84
- end
85
- end