notifyme 1.0.1 → 1.0.2
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/lib/notifyme/check.rb +1 -1
- data/lib/notifyme/start.rb +50 -13
- data/lib/notifyme.rb +1 -0
- data/notifyme_config.rb +0 -2
- metadata +2 -2
data/lib/notifyme/check.rb
CHANGED
data/lib/notifyme/start.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module NotifyMe
|
2
2
|
|
3
|
-
VERSION = '1.0.
|
3
|
+
VERSION = '1.0.2'
|
4
|
+
DEFAULT_CONFIG_FILE = "#{ENV['HOME']}/.notifyme/notifyme_config.rb"
|
4
5
|
|
5
6
|
autoload :Task, 'notifyme/task'
|
6
7
|
autoload :Log, 'notifyme/log'
|
@@ -12,15 +13,15 @@ module NotifyMe
|
|
12
13
|
# log
|
13
14
|
@@log_args = [:stdout]
|
14
15
|
@@log_format = :text
|
15
|
-
@@log_directory = "/tmp"
|
16
16
|
|
17
17
|
# tasks list
|
18
18
|
@@tasks = []
|
19
19
|
|
20
20
|
def run!
|
21
|
-
puts 'NotifyMe v' +
|
21
|
+
puts 'NotifyMe v' + VERSION
|
22
|
+
@@config_file = ARGV[0] || DEFAULT_CONFIG_FILE
|
22
23
|
load_custom_check_functions
|
23
|
-
start = new(
|
24
|
+
start = new(@@config_file)
|
24
25
|
load_custom_check_tasks
|
25
26
|
start.run
|
26
27
|
end
|
@@ -30,7 +31,7 @@ module NotifyMe
|
|
30
31
|
if File.exists? file
|
31
32
|
load file
|
32
33
|
puts "Loaded custom check functions from #{file}."
|
33
|
-
end
|
34
|
+
end
|
34
35
|
end
|
35
36
|
|
36
37
|
def load_custom_check_tasks
|
@@ -48,7 +49,47 @@ module NotifyMe
|
|
48
49
|
end
|
49
50
|
|
50
51
|
def custom_notifyme_dir
|
51
|
-
File.join(ENV['HOME'], ".notifyme")
|
52
|
+
notifyme_dir = File.join(ENV['HOME'], ".notifyme")
|
53
|
+
return notifyme_dir if File.directory?(notifyme_dir)
|
54
|
+
|
55
|
+
setup notifyme_dir
|
56
|
+
end
|
57
|
+
|
58
|
+
def setup(notifyme_dir)
|
59
|
+
FileUtils.mkdir_p notifyme_dir
|
60
|
+
FileUtils.mkdir_p File.join(notifyme_dir, 'check')
|
61
|
+
|
62
|
+
if @@config_file == DEFAULT_CONFIG_FILE
|
63
|
+
default_config_file = File.expand_path(File.dirname(__FILE__) + '/../../notifyme_config.rb')
|
64
|
+
basic_config = File.read(default_config_file).split('# add some tasks').first
|
65
|
+
File.open("#{notifyme_dir}/notifyme_config.rb", "w") do |f|
|
66
|
+
f.write basic_config + "\nend"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
File.open("#{notifyme_dir}/check.rb", "w") do |f|
|
71
|
+
f.write <<-EOF
|
72
|
+
class NotifyMe::Check
|
73
|
+
class << self
|
74
|
+
# def something(args = {})
|
75
|
+
# return "Something went wrong of your system" if not true
|
76
|
+
# end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
EOF
|
80
|
+
end
|
81
|
+
|
82
|
+
File.open("#{notifyme_dir}/check/mytask.rb", "w") do |f|
|
83
|
+
f.write <<-EOF
|
84
|
+
def check_mytask(t)
|
85
|
+
# t.sleep_time = 5
|
86
|
+
# t.command = lambda { check :something }
|
87
|
+
# t.restart_command = lambda { `/etc/init.d/something restart` }
|
88
|
+
end
|
89
|
+
EOF
|
90
|
+
end
|
91
|
+
|
92
|
+
notifyme_dir
|
52
93
|
end
|
53
94
|
|
54
95
|
def config(&block)
|
@@ -86,8 +127,7 @@ module NotifyMe
|
|
86
127
|
end
|
87
128
|
|
88
129
|
def log_directory(directory)
|
89
|
-
|
90
|
-
@@log_directory = directory
|
130
|
+
$stderr.puts "Warn: the \"log_direcotry\" has been deprecated. You can find the error messages in the /var/log/ directory."
|
91
131
|
end
|
92
132
|
end
|
93
133
|
|
@@ -96,6 +136,7 @@ module NotifyMe
|
|
96
136
|
@mutex = Mutex.new
|
97
137
|
@@tasks.each do |task|
|
98
138
|
tasks_thread << Thread.new(task) do
|
139
|
+
next if task.name.nil? || task.sleep_time.nil?
|
99
140
|
loop do
|
100
141
|
Thread.current[:name] = task.name
|
101
142
|
sleep task.sleep_time
|
@@ -139,11 +180,7 @@ module NotifyMe
|
|
139
180
|
end
|
140
181
|
|
141
182
|
def log_error(task_name, command, msg)
|
142
|
-
|
143
|
-
log_file = File.join(@@log_directory, '/', "#{task_name}.log")
|
144
|
-
File.open(log_file, 'a') do |f|
|
145
|
-
f.write "[#{Time.new.to_s}] #{command} : #{msg}\n"
|
146
|
-
end
|
183
|
+
Syslog.log Syslog::LOG_ERR, "[#{Time.new.to_s}] #{task_name} # #{command} : #{msg}"
|
147
184
|
end
|
148
185
|
|
149
186
|
def initialize(config_file)
|
data/lib/notifyme.rb
CHANGED
data/notifyme_config.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: notifyme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: daemons
|