capistrano-background 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/capistrano/background/version.rb +1 -1
- data/lib/capistrano/tasks/background.rake +36 -2
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba4126661a4a88a0a004ee7c3584f6772252fbe1
|
4
|
+
data.tar.gz: 3d966c6bba0adca375b47201c6db477d7b3d8032
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 854d9b14f56bbf287ba91a49ae6daddda56dfa10cdd4c1c5b6312a55b1c5989b923c129a1d0a521c4a21e881ebb4cde4193e03766f2cc84df68c493a864001e9
|
7
|
+
data.tar.gz: 164af789c60a8c466966291edf66f791d3279ae8a39b2cb08133e9112f4e78fb02d9adba1dfa93f36e99ac427d019a1f397f56ebef145770892f0f78f4429084
|
data/CHANGELOG.md
ADDED
@@ -8,7 +8,12 @@ module SSHKit
|
|
8
8
|
if pid_file.nil?
|
9
9
|
orig_in_background(&_block)
|
10
10
|
else
|
11
|
-
|
11
|
+
env_str = environment_string
|
12
|
+
if env_str.nil?
|
13
|
+
sprintf("( nohup %s > /dev/null & \\echo $! > #{pid_file})", yield)
|
14
|
+
else
|
15
|
+
sprintf(" && ( #{env_str} nohup %s > /dev/null & \\echo $! > #{pid_file})", yield)
|
16
|
+
end
|
12
17
|
end
|
13
18
|
end
|
14
19
|
end
|
@@ -16,10 +21,20 @@ end
|
|
16
21
|
|
17
22
|
namespace :load do
|
18
23
|
task :defaults do
|
24
|
+
set :background_default_hooks, true
|
19
25
|
set :background_processes, []
|
20
26
|
end
|
21
27
|
end
|
22
28
|
|
29
|
+
namespace :deploy do
|
30
|
+
before :starting, :check_background_hooks do
|
31
|
+
invoke 'background:add_default_hooks' if fetch(:background_default_hooks)
|
32
|
+
end
|
33
|
+
after :publishing, :restart_background do
|
34
|
+
invoke 'background:restart' if fetch(:background_default_hooks)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
23
38
|
namespace :background do
|
24
39
|
processes = []
|
25
40
|
|
@@ -35,11 +50,17 @@ namespace :background do
|
|
35
50
|
test(*("[ -f #{file} ]").split(' '))
|
36
51
|
end
|
37
52
|
|
53
|
+
def quiet_process(pid_file)
|
54
|
+
if file_exists? pid_file
|
55
|
+
background "kill -USR1 `cat #{pid_file}`"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
38
59
|
def start_process(pid_file, options)
|
39
60
|
stage = fetch :stage
|
40
61
|
args = options[:execute]
|
41
62
|
args << {:pid_file => pid_file}
|
42
|
-
with(:RAILS_ENV =>
|
63
|
+
with(:RAILS_ENV => stage) do
|
43
64
|
background *args
|
44
65
|
end
|
45
66
|
end
|
@@ -58,6 +79,19 @@ namespace :background do
|
|
58
79
|
after 'deploy:published', 'background:start'
|
59
80
|
end
|
60
81
|
|
82
|
+
desc 'Quiet background processes'
|
83
|
+
task :quiet do
|
84
|
+
background_processes = fetch :background_processes
|
85
|
+
background_processes.each do |options|
|
86
|
+
role = options[:role] || :app
|
87
|
+
on roles role do
|
88
|
+
within release_path do
|
89
|
+
quiet_process(get_pid_file(options))
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
61
95
|
desc 'Stop background processes'
|
62
96
|
task :stop do
|
63
97
|
background_processes = fetch :background_processes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-background
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chen Yi-Cyuan
|
@@ -76,6 +76,7 @@ files:
|
|
76
76
|
- ".gitignore"
|
77
77
|
- ".rspec"
|
78
78
|
- ".travis.yml"
|
79
|
+
- CHANGELOG.md
|
79
80
|
- Gemfile
|
80
81
|
- LICENSE.txt
|
81
82
|
- README.md
|