cron_wrapper 0.0.5 → 0.0.6
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/Manifest +1 -0
- data/Rakefile +1 -1
- data/cron_wrapper.gemspec +2 -2
- data/lib/cron_wrapper.rb +5 -4
- data/spec/cron_wrapper_spec.rb +3 -3
- data.tar.gz.sig +4 -1
- metadata +4 -4
- metadata.gz.sig +0 -0
data/Manifest
CHANGED
data/Rakefile
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
require 'rake'
|
3
3
|
require 'echoe'
|
4
4
|
|
5
|
-
Echoe.new('cron_wrapper', '0.0.
|
5
|
+
Echoe.new('cron_wrapper', '0.0.6') do |p|
|
6
6
|
p.description = "A gem that provides useful features for running ruby or Rails scripts with cron"
|
7
7
|
p.url = "http://rubyisbeautiful.com"
|
8
8
|
p.author = "Bryan Taylor"
|
data/cron_wrapper.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{cron_wrapper}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.6"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Bryan Taylor"]
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.email = %q{btaylor39 @nospam@ csc.com}
|
14
14
|
s.executables = ["cron_wrapper"]
|
15
15
|
s.extra_rdoc_files = ["bin/cron_wrapper", "lib/cron_wrapper.rb"]
|
16
|
-
s.files = ["Manifest", "Rakefile", "bin/cron_wrapper", "lib/cron_wrapper.rb", "spec/cron_wrapper_spec.rb", "spec/spec_helper.rb"
|
16
|
+
s.files = ["Manifest", "Rakefile", "bin/cron_wrapper", "cron_wrapper.gemspec", "lib/cron_wrapper.rb", "spec/cron_wrapper_spec.rb", "spec/spec_helper.rb"]
|
17
17
|
s.homepage = %q{http://rubyisbeautiful.com}
|
18
18
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Cron_wrapper"]
|
19
19
|
s.require_paths = ["lib"]
|
data/lib/cron_wrapper.rb
CHANGED
@@ -21,8 +21,8 @@ class CronWrapper
|
|
21
21
|
|
22
22
|
# do options
|
23
23
|
foo = OptionParser.new do |opts|
|
24
|
-
opts.banner = "Usage: cron_wrapper [options]
|
25
|
-
where script is the name (without file extension) of a file located in <root>/lib/cron
|
24
|
+
opts.banner = "Usage: cron_wrapper [options]
|
25
|
+
where script is the name (without file extension) of a file located by default in <root>/lib/cron
|
26
26
|
Example:
|
27
27
|
> pwd
|
28
28
|
/home/projects/foo
|
@@ -31,6 +31,7 @@ class CronWrapper
|
|
31
31
|
>cron_wrapper awesome_script
|
32
32
|
"
|
33
33
|
|
34
|
+
opts.on("--wrap FILE", "file to run") { |o| @options[:target] = o }
|
34
35
|
opts.on("--wrap-dry-run", "dry run (default: off)") { |o| @options[:dry_run] = o }
|
35
36
|
opts.on("--wrap-skip-rails", "Do not try to load Rails (default: off)") { |o| @options[:skip_rails] = o }
|
36
37
|
opts.on("--wrap-root DIR", "Root or working directory (default: .)") { |o| @options[:root] = o }
|
@@ -52,7 +53,7 @@ class CronWrapper
|
|
52
53
|
end
|
53
54
|
|
54
55
|
# if they did not enter a script name, then give them usage
|
55
|
-
if
|
56
|
+
if @options[:target].nil? or @options[:target] == ''
|
56
57
|
puts foo.banner
|
57
58
|
exit
|
58
59
|
end
|
@@ -104,7 +105,7 @@ class CronWrapper
|
|
104
105
|
|
105
106
|
|
106
107
|
def run
|
107
|
-
base_name =
|
108
|
+
base_name = @options[:target]
|
108
109
|
target = File.join(@options[:root], "lib/cron/#{base_name}.rb")
|
109
110
|
lock_file = File.join(@options[:lock_dir], "/#{base_name}.lock")
|
110
111
|
|
data/spec/cron_wrapper_spec.rb
CHANGED
@@ -32,7 +32,7 @@ describe "cron_wrapper" do
|
|
32
32
|
|
33
33
|
|
34
34
|
it "should create a lock file in lock_dir if no lock file exists" do
|
35
|
-
t = Thread.new { `#{cmd} awesome_script --wrap-verbose --wrap-skip-rails --wrap-root #{root} --wrap-log log/awesome_script.log` }
|
35
|
+
t = Thread.new { `#{cmd} --wrap awesome_script --wrap-verbose --wrap-skip-rails --wrap-root #{root} --wrap-log log/awesome_script.log` }
|
36
36
|
Timeout::timeout(2) do
|
37
37
|
begin
|
38
38
|
@pid = File.read "#{root}/tmp/locks/awesome_script.lock"
|
@@ -47,14 +47,14 @@ describe "cron_wrapper" do
|
|
47
47
|
|
48
48
|
|
49
49
|
it "should remove the lock file in lock_dir after execution" do
|
50
|
-
`#{cmd} awesome_script --wrap-skip-rails --wrap-root #{root} --wrap-log log/awesome_script.log`
|
50
|
+
`#{cmd} --wrap awesome_script --wrap-skip-rails --wrap-root #{root} --wrap-log log/awesome_script.log`
|
51
51
|
File.exists?("tmp/locks/awesome_script.lock").should == false
|
52
52
|
end
|
53
53
|
|
54
54
|
|
55
55
|
it "should have the pid of the currently executing thread in the lock file" do
|
56
56
|
read_pid = nil
|
57
|
-
@pid = Process.fork { `#{cmd} awesome_script --wrap-verbose --wrap-skip-rails --wrap-root #{root} --wrap-log log/awesome_script.log` }
|
57
|
+
@pid = Process.fork { `#{cmd} --wrap awesome_script --wrap-verbose --wrap-skip-rails --wrap-root #{root} --wrap-log log/awesome_script.log` }
|
58
58
|
|
59
59
|
begin
|
60
60
|
read_pid = File.read "#{root}/tmp/locks/awesome_script.lock"
|
data.tar.gz.sig
CHANGED
@@ -1 +1,4 @@
|
|
1
|
-
|
1
|
+
�bO�*�x�gn�8��ΜA�Ѐ�͌�N>db�\p�L7����Z6�my���+�,�s�wL�XOh��� D^���&��c5�#��a
|
2
|
+
%8�9�40�Źy�
|
3
|
+
;9�i5*l��!C���[/�5U/����yn��Y�[�,��V�i� ɐ�8�d��H\`Sۘ]�"�����f*��
|
4
|
+
������gH�܇�\��9� �h�@Q��o@����]I:�~��)d�lO�Ȃd��IJ�z��m;��Kg<. ���'�
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cron_wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 6
|
10
|
+
version: 0.0.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Bryan Taylor
|
@@ -53,10 +53,10 @@ files:
|
|
53
53
|
- Manifest
|
54
54
|
- Rakefile
|
55
55
|
- bin/cron_wrapper
|
56
|
+
- cron_wrapper.gemspec
|
56
57
|
- lib/cron_wrapper.rb
|
57
58
|
- spec/cron_wrapper_spec.rb
|
58
59
|
- spec/spec_helper.rb
|
59
|
-
- cron_wrapper.gemspec
|
60
60
|
has_rdoc: true
|
61
61
|
homepage: http://rubyisbeautiful.com
|
62
62
|
licenses: []
|
metadata.gz.sig
CHANGED
Binary file
|