jobmanager 1.0.0 → 1.0.1
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/FAQ.txt +2 -0
- data/History.txt +2 -0
- data/README.txt +3 -6
- data/Rakefile +1 -2
- data/lib/jobmanager/application.rb +1 -2
- data/lib/jobmanager/util.rb +29 -0
- data/test/test_jobmanager.rb +1 -1
- metadata +3 -13
data/FAQ.txt
CHANGED
data/History.txt
CHANGED
data/README.txt
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
* Project Page: http://rubyforge.org/projects/jobmanager/
|
3
|
-
* Documentation: http://jobmanager.rubyforge.org/
|
1
|
+
Object
|
4
2
|
|
5
3
|
== DESCRIPTION:
|
6
4
|
|
@@ -309,14 +307,13 @@ will be sent to the terminal.
|
|
309
307
|
== REQUIREMENTS:
|
310
308
|
|
311
309
|
The +jobmanager+ application requires a number of gems: hoe,
|
312
|
-
SyslogLogger,
|
310
|
+
SyslogLogger, configtoolkit, simpleemail, logrotate,
|
313
311
|
assertions, and relative.
|
314
312
|
|
315
313
|
Hoe and assertions are required only for running the tests. Relative is
|
316
314
|
required for running the tests and the examples. The rest of the gems
|
317
315
|
listed above are required for the proper functioning of the
|
318
|
-
+jobmanager+ application.
|
319
|
-
purpose of including the hostname in the email subject line.
|
316
|
+
+jobmanager+ application.
|
320
317
|
|
321
318
|
== INSTALL:
|
322
319
|
|
data/Rakefile
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
require 'rubygems'
|
3
3
|
require 'hoe'
|
4
4
|
|
5
|
-
Hoe.new('jobmanager', "1.0.
|
5
|
+
Hoe.new('jobmanager', "1.0.1") do |p|
|
6
6
|
p.remote_rdoc_dir = ''
|
7
7
|
p.developer('DesigningPatterns', 'technical.inquiries@designingpatterns.com')
|
8
8
|
|
@@ -11,7 +11,6 @@ Hoe.new('jobmanager', "1.0.0") do |p|
|
|
11
11
|
p.extra_deps << ['relative']
|
12
12
|
p.extra_deps << ['logrotate']
|
13
13
|
p.extra_deps << ['SyslogLogger']
|
14
|
-
p.extra_deps << ['sys-host']
|
15
14
|
end
|
16
15
|
|
17
16
|
# vim: syntax=Ruby
|
@@ -7,7 +7,6 @@ require 'stringio'
|
|
7
7
|
require 'rubygems'
|
8
8
|
require 'logrotate'
|
9
9
|
require 'relative'
|
10
|
-
require 'sys/host'
|
11
10
|
require 'configtoolkit'
|
12
11
|
require 'configtoolkit/yamlreader'
|
13
12
|
require 'configtoolkit/hashreader'
|
@@ -404,7 +403,7 @@ module JobManager
|
|
404
403
|
# ERB. Resolve the following variables to their values listed
|
405
404
|
# below.
|
406
405
|
result = success ? "Success" : "Failure"
|
407
|
-
host_name =
|
406
|
+
host_name = JobManager.exec_or_raise("hostname").chomp()
|
408
407
|
job_name = @config.job_name
|
409
408
|
command = @config.command
|
410
409
|
user_name = @user_name
|
data/lib/jobmanager/util.rb
CHANGED
@@ -20,6 +20,35 @@ module JobManager
|
|
20
20
|
$-w = save
|
21
21
|
end
|
22
22
|
end
|
23
|
+
|
24
|
+
# ====Description:
|
25
|
+
# Execute the given command. Raise an error on failure.
|
26
|
+
#
|
27
|
+
# ====Parameters:
|
28
|
+
# [command]
|
29
|
+
# The command to be executed.
|
30
|
+
# [options]
|
31
|
+
# The following list of options is allowed.
|
32
|
+
# +verbose+:: Print the command as well as the output of the executed command.
|
33
|
+
#
|
34
|
+
# ====Returns:
|
35
|
+
# The command's output.
|
36
|
+
#
|
37
|
+
def self.exec_or_raise(command, options = {})
|
38
|
+
if options[:verbose] then print "#{command}\n" end
|
39
|
+
|
40
|
+
result = %x[ #{command} ]
|
41
|
+
|
42
|
+
if options[:verbose] then
|
43
|
+
result.split("\n").each { |line| print "+ #{line}\n" }
|
44
|
+
end
|
45
|
+
|
46
|
+
if ($CHILD_STATUS != 0)
|
47
|
+
raise "+ Command (#{command}) Failed! Exit Status: #{$CHILD_STATUS.inspect}"
|
48
|
+
end
|
49
|
+
|
50
|
+
return result
|
51
|
+
end
|
23
52
|
|
24
53
|
end
|
25
54
|
|
data/test/test_jobmanager.rb
CHANGED
@@ -37,7 +37,7 @@ class TestJobManager < Test::Unit::TestCase
|
|
37
37
|
|
38
38
|
PROGRAM_NAME = $0
|
39
39
|
USER_NAME = Etc.getpwuid(Process::Sys.getuid()).name()
|
40
|
-
HOST_NAME =
|
40
|
+
HOST_NAME = JobManager.exec_or_raise("hostname").chomp()
|
41
41
|
|
42
42
|
# override the interactive shell calculation, and set to false
|
43
43
|
INTERACTIVE_SHELL_OVERRIDE = false
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jobmanager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- DesigningPatterns
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-08-
|
12
|
+
date: 2008-08-27 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -62,16 +62,6 @@ dependencies:
|
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: "0"
|
64
64
|
version:
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: sys-host
|
67
|
-
type: :runtime
|
68
|
-
version_requirement:
|
69
|
-
version_requirements: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: "0"
|
74
|
-
version:
|
75
65
|
- !ruby/object:Gem::Dependency
|
76
66
|
name: hoe
|
77
67
|
type: :development
|
@@ -138,7 +128,7 @@ files:
|
|
138
128
|
- test/configs/minimum_plus_email_settings.yaml
|
139
129
|
- test/configs/minimum_required.yaml
|
140
130
|
has_rdoc: true
|
141
|
-
homepage:
|
131
|
+
homepage: This package makes managing cron jobs on unix systems a breeze! It is
|
142
132
|
post_install_message:
|
143
133
|
rdoc_options:
|
144
134
|
- --main
|