capistrano-psw 1.0.0.pre5 → 1.0.0.pre6
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.
- checksums.yaml +4 -4
- data/README.md +28 -0
- data/lib/capistrano/psw/version.rb +1 -1
- data/resources/lib/capistrano/tasks/psw-clockwork.cap +99 -0
- data/spec/psw-clockwork_spec.rb +50 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc10b5622674ae3323a5136fccfa43120186422a
|
4
|
+
data.tar.gz: 264b6d4fcdc320c2f82ae0d1c266c0299bad98fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 212bcf427877757ee04341e0ae3d3c8d10b744b065e37e0a028151e3cf61d4dc8fab952ff4e1bf9e4661911f11d02407d02ddcf93f545734a187129b22e61fe8
|
7
|
+
data.tar.gz: 9e4f03b7d9869e389fb9810a5ff6045c01cee5c9284e1f0f881e8203c9942d7fb778a539d3b4e8f43a24d6691bdc9273e0a46b0924c15abc81ab21b3a24edc24
|
data/README.md
CHANGED
@@ -132,6 +132,34 @@ still points to the last run (otherwise the PID files won't exist)
|
|
132
132
|
### psw_sidekiq:restart
|
133
133
|
Executes the following tasks: stop, start
|
134
134
|
|
135
|
+
## Clockwork-related Tasks
|
136
|
+
These tasks provides controls for clockwork (https://github.com/tomykaira/clockwork/), by providing
|
137
|
+
mechanisms to stop, start, and restart associated clockwork servers. Unfortunately the standard daemon
|
138
|
+
engine for clockwork, clockworkd (https://github.com/arufanov/Clockworkd), doesn't support Capistrano
|
139
|
+
v3, so this serves as a replacement.
|
140
|
+
|
141
|
+
These tasks require that the 'daemon' packaged be installed on the executing system. On Ubuntu,
|
142
|
+
# this can be installed by executing the following command: sudo apt-get install daemon
|
143
|
+
|
144
|
+
### psw_clockwork:start
|
145
|
+
Starts a clockwork server.
|
146
|
+
|
147
|
+
```ruby
|
148
|
+
before :'psw_clockwork:stop', :set_clockwork_options do
|
149
|
+
set :psw_clockwork_log_file, "#{fetch(:current_path)}/log/clockwork.log"
|
150
|
+
set :psw_clockwork_pid_file, "#{fetch(:current_path)}/tmp/pids/clockwork.pid"
|
151
|
+
set :psw_clockwork_config_file, "config/clockwork.rb"
|
152
|
+
end
|
153
|
+
```
|
154
|
+
|
155
|
+
### psw_clockwork:stop
|
156
|
+
Stops all known clockwork servers (by reviewing the PID files in the 'current' deployment). It
|
157
|
+
should be noted that this task should run as a'before' hook, so that the 'current' directory
|
158
|
+
still points to the last run (otherwise the PID files won't exist)
|
159
|
+
|
160
|
+
### psw_clockwork:restart
|
161
|
+
Executes the following tasks: stop, start
|
162
|
+
|
135
163
|
## License
|
136
164
|
|
137
165
|
2013 Lexmark International Technology S.A. All rights reserved.
|
@@ -0,0 +1,99 @@
|
|
1
|
+
# == psw-clockwork.cap
|
2
|
+
#
|
3
|
+
# These tasks provides controls for clockwork (https://github.com/tomykaira/clockwork/), by providing
|
4
|
+
# mechanisms to stop, start, and restart associated clockwork servers. Unfortunately the standard daemon
|
5
|
+
# engine for clockwork, clockworkd (https://github.com/arufanov/Clockworkd), doesn't support Capistrano
|
6
|
+
# v3, so this serves as a replacement.
|
7
|
+
#
|
8
|
+
# Note: These tasks require that the 'daemon' packaged be installed on the executing system. On Ubuntu,
|
9
|
+
# this can be installed by executing the following command: sudo apt-get install daemon
|
10
|
+
#
|
11
|
+
# == Configuration
|
12
|
+
# The following configuration options may be set (should be set before the 'stop' task is executed):
|
13
|
+
#
|
14
|
+
# before :'psw_clockwork:stop', :set_clockwork_options do
|
15
|
+
# set :psw_clockwork_log_file, "#{fetch(:current_path)}/log/clockwork.log"
|
16
|
+
# set :psw_clockwork_pid_file, "#{fetch(:current_path)}/tmp/pids/clockwork.pid"
|
17
|
+
# set :psw_clockwork_config_file, "config/clockwork.rb"
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# * psw_clockwork_log_file
|
21
|
+
# ** Defines (absolutely) the log file that will be written.
|
22
|
+
# ** Default Value: #{fetch(:current_path)}/log/clockwork.log
|
23
|
+
# * psw_clockwork_pid_file
|
24
|
+
# ** Defines (absolutely) the PID file that will be written.
|
25
|
+
# ** Default Value: #{fetch(:current_path)}/tmp/pids/clockwork.pid
|
26
|
+
# * psw_clockwork_config_file
|
27
|
+
# ** Defines (relative to project root), the configuration file that will be used.
|
28
|
+
# ** Default Value: config/clockwork.rb
|
29
|
+
#
|
30
|
+
# == Tasks
|
31
|
+
#
|
32
|
+
# === psw_clockwork:start
|
33
|
+
# Starts a clockwork server.
|
34
|
+
#
|
35
|
+
# === psw_clockwork:stop
|
36
|
+
# Stops all known clockwork servers (by reviewing the PID files in the 'current' deployment). It
|
37
|
+
# should be noted that this task should run as a'before' hook, so that the 'current' directory
|
38
|
+
# still points to the last run (otherwise the PID files won't exist)
|
39
|
+
#
|
40
|
+
# === psw_clockwork:restart
|
41
|
+
# Executes the following tasks: stop, start
|
42
|
+
#
|
43
|
+
# == Contact
|
44
|
+
#
|
45
|
+
# Author:: Lexmark International Technology S.A.
|
46
|
+
# Copyright:: 2013 Lexmark International Technology S.A. All rights reserved.
|
47
|
+
# License:: 3-Clause BSD
|
48
|
+
|
49
|
+
namespace :psw_clockwork do
|
50
|
+
|
51
|
+
def rails_env
|
52
|
+
fetch(:rails_env, false) ? "RAILS_ENV=#{fetch(:rails_env)}" : ''
|
53
|
+
end
|
54
|
+
|
55
|
+
def current_path
|
56
|
+
fetch(:current_path, '')
|
57
|
+
end
|
58
|
+
|
59
|
+
def log_file
|
60
|
+
fetch(:psw_clockwork_log_file, "#{current_path}/log/clockwork.log")
|
61
|
+
end
|
62
|
+
|
63
|
+
def pid_file
|
64
|
+
fetch(:psw_clockwork_pid_file, "#{current_path}/tmp/pids/clockwork.pid")
|
65
|
+
end
|
66
|
+
|
67
|
+
def config_file
|
68
|
+
fetch(:psw_clockwork_config_file, "config/clockwork.rb")
|
69
|
+
end
|
70
|
+
|
71
|
+
desc "Start clockwork server(s)..."
|
72
|
+
task :start do
|
73
|
+
on roles(:all) do |host|
|
74
|
+
info "Preparing to start clockwork server(s)..."
|
75
|
+
execute "daemon --inherit --name=clockwork --env='#{rails_env}' --output=#{log_file} --pidfile=#{pid_file} -D #{current_path} -- bundle exec clockwork #{config_file}"
|
76
|
+
info "Finished starting all clockwork server(s)"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
desc "Stop clockwork server(s)..."
|
81
|
+
task :stop do
|
82
|
+
on roles(:all) do |host|
|
83
|
+
info "Looking for any running clockwork server(s)..."
|
84
|
+
execute "if [ -d #{current_path} ] && [ -f #{pid_file} ]; then cd #{current_path} && kill -INT `cat #{pid_file}` ; fi"
|
85
|
+
info "Finished stopping all clockwork server(s)"
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
desc "Restart any clockwork server(s)..."
|
90
|
+
task :restart do
|
91
|
+
#force a re-execution
|
92
|
+
Rake::Task['psw_clockwork:stop'].reenable
|
93
|
+
invoke :'psw_clockwork:stop'
|
94
|
+
|
95
|
+
#force a re-execution
|
96
|
+
Rake::Task['psw_clockwork:start'].reenable
|
97
|
+
invoke :'psw_clockwork:start'
|
98
|
+
end
|
99
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require "rake"
|
2
|
+
require File.expand_path('../spec_helper.rb', __FILE__)
|
3
|
+
|
4
|
+
|
5
|
+
describe "psw_clockwork:" do
|
6
|
+
describe "restart" do
|
7
|
+
let(:rake) { Rake::Application.new }
|
8
|
+
subject { rake["psw_clockwork:restart"] }
|
9
|
+
|
10
|
+
before do
|
11
|
+
Rake.application = rake
|
12
|
+
Rake.application.add_import("./resources/lib/capistrano/tasks/psw-clockwork.cap")
|
13
|
+
Rake.application.load_imports()
|
14
|
+
end
|
15
|
+
|
16
|
+
it "has 'no prerequisites" do
|
17
|
+
subject.prerequisites.should be_empty
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "start" do
|
22
|
+
let(:rake) { Rake::Application.new }
|
23
|
+
subject { rake["psw_clockwork:start"] }
|
24
|
+
|
25
|
+
before do
|
26
|
+
Rake.application = rake
|
27
|
+
Rake.application.add_import("./resources/lib/capistrano/tasks/psw-clockwork.cap")
|
28
|
+
Rake.application.load_imports()
|
29
|
+
end
|
30
|
+
|
31
|
+
it "has 'no prerequisites" do
|
32
|
+
subject.prerequisites.should be_empty
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "stop" do
|
37
|
+
let(:rake) { Rake::Application.new }
|
38
|
+
subject { rake["psw_clockwork:stop"] }
|
39
|
+
|
40
|
+
before do
|
41
|
+
Rake.application = rake
|
42
|
+
Rake.application.add_import("./resources/lib/capistrano/tasks/psw-clockwork.cap")
|
43
|
+
Rake.application.load_imports()
|
44
|
+
end
|
45
|
+
|
46
|
+
it "has 'no prerequisites" do
|
47
|
+
subject.prerequisites.should be_empty
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-psw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.pre6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lexmark International Technology S.A
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -85,8 +85,10 @@ files:
|
|
85
85
|
- lib/capistrano/psw.rb
|
86
86
|
- lib/capistrano/psw/task_loader.rb
|
87
87
|
- lib/capistrano/psw/version.rb
|
88
|
+
- resources/lib/capistrano/tasks/psw-clockwork.cap
|
88
89
|
- resources/lib/capistrano/tasks/psw-repo.cap
|
89
90
|
- resources/lib/capistrano/tasks/psw-sidekiq.cap
|
91
|
+
- spec/psw-clockwork_spec.rb
|
90
92
|
- spec/psw-repo_spec.rb
|
91
93
|
- spec/psw-sidekiq_spec.rb
|
92
94
|
- spec/spec_helper.rb
|
@@ -116,6 +118,7 @@ signing_key:
|
|
116
118
|
specification_version: 4
|
117
119
|
summary: Contains Capistrano v3 Deployment Tasks
|
118
120
|
test_files:
|
121
|
+
- spec/psw-clockwork_spec.rb
|
119
122
|
- spec/psw-repo_spec.rb
|
120
123
|
- spec/psw-sidekiq_spec.rb
|
121
124
|
- spec/spec_helper.rb
|