eycloud-helper-cronjobs 1.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.
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ pkg
2
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,16 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ eycloud-helper-cronjobs (1.0.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ rake (0.9.2.2)
10
+
11
+ PLATFORMS
12
+ ruby
13
+
14
+ DEPENDENCIES
15
+ eycloud-helper-cronjobs!
16
+ rake
data/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # Cronjobs helpers for EY Cloud
2
+
3
+ Definitions for other recipes to create/maintain/restart cronjobs
4
+
5
+ ## crond definition
6
+
7
+ Create a cronjob.
8
+
9
+ Example usage:
10
+
11
+ ``` ruby
12
+ crond "Kill stale resque workers" do
13
+ filename "resque_kill_stale"
14
+ interval "* * * * *"
15
+ command %Q{/usr/local/bin/resque_kill_stale /tmp/resque_ttls}
16
+ end
17
+ ```
18
+
19
+ ``` ruby
20
+ crond "Collect stats" do
21
+ filename "collect_stats"
22
+ interval "*/5 * * * *"
23
+ runner owner_name
24
+ command %|...|
25
+ end
26
+ ```
27
+
28
+ ## clean_crond definition
29
+
30
+ Clean up crond.
31
+
32
+ Usage:
33
+
34
+ ``` ruby
35
+ clean_crond
36
+ ```
37
+
38
+ ## restart_cron definition
39
+
40
+ Restart cron
41
+
42
+ Usage
43
+
44
+ ``` ruby
45
+ restart_cron
46
+ ```
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,5 @@
1
+ define :clean_crond do
2
+ execute "cleanup crond" do
3
+ command "rm -fr /etc/cron.d/*"
4
+ end
5
+ end
@@ -0,0 +1,27 @@
1
+ # Example usage:
2
+ # crond "Kill stale resque workers" do
3
+ # filename "resque_kill_stale"
4
+ # interval "* * * * *"
5
+ # command %Q{/usr/local/bin/resque_kill_stale /tmp/resque_ttls}
6
+ # end
7
+ define :crond, :filename => nil, :runner => nil, :interval => nil, :command => nil do
8
+ unless params[:filename] =~ /^[a-z0-9_]+$/i
9
+ raise "Cron name is invalid"
10
+ end
11
+
12
+ params[:runner] ||= node[:owner_name]
13
+ alert_email = node.engineyard.environment.alert_email
14
+
15
+ template "/etc/cron.d/#{params[:filename]}" do
16
+ cookbook "cronjobs"
17
+ owner 'root'
18
+ group 'root'
19
+ mode 0644
20
+ source "cron.erb"
21
+ variables({
22
+ :email => alert_email,
23
+ :p => params
24
+ })
25
+ backup 0
26
+ end
27
+ end
@@ -0,0 +1,5 @@
1
+ define :restart_cron do
2
+ execute "restart cron" do
3
+ command "/etc/init.d/vixie-cron restart; exit 0"
4
+ end
5
+ end
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+
4
+ version = "1.0.0" # get from metadata.json or .rb
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "eycloud-helper-cronjobs"
8
+ s.version = version
9
+ s.authors = ["Dr Nic Williams"]
10
+ s.email = ["drnicwilliams@gmail.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{Cronjobs helpers for EY Cloud} # from metadata
13
+ s.description = %q{Cronjobs helpers for EY Cloud} # from metadata long_description
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
+ s.require_paths = ["lib"]
19
+
20
+ s.add_development_dependency("rake")
21
+ end
metadata ADDED
@@ -0,0 +1,71 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: eycloud-helper-cronjobs
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Dr Nic Williams
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-15 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: &70110610267220 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70110610267220
25
+ description: Cronjobs helpers for EY Cloud
26
+ email:
27
+ - drnicwilliams@gmail.com
28
+ executables: []
29
+ extensions: []
30
+ extra_rdoc_files: []
31
+ files:
32
+ - .gitignore
33
+ - Gemfile
34
+ - Gemfile.lock
35
+ - README.md
36
+ - Rakefile
37
+ - definitions/clean_crond.rb
38
+ - definitions/crond.rb
39
+ - definitions/restart_cron.rb
40
+ - eycloud-helper-cronjobs.gemspec
41
+ homepage: ''
42
+ licenses: []
43
+ post_install_message:
44
+ rdoc_options: []
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ none: false
49
+ requirements:
50
+ - - ! '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ segments:
54
+ - 0
55
+ hash: -1720701590810663917
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ segments:
63
+ - 0
64
+ hash: -1720701590810663917
65
+ requirements: []
66
+ rubyforge_project:
67
+ rubygems_version: 1.8.17
68
+ signing_key:
69
+ specification_version: 3
70
+ summary: Cronjobs helpers for EY Cloud
71
+ test_files: []