eycloud-helper-cronjobs 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []