elocal_capistrano 2.2.1 → 2.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d6a698114edec5f34637ade326d22fd5bc90882
4
- data.tar.gz: 541aeef5b5ff93f27a728ef93a4d0f168a78fc64
3
+ metadata.gz: d049888888e5e20daa8fd8159b8f00c8c2b9cb12
4
+ data.tar.gz: a716977fe24f9b5819d961f1d94f84c359eac942
5
5
  SHA512:
6
- metadata.gz: 0ee6d74c3028acb5a179f15558d0e08ad443c8b4ed39b43e7f16cdc6e9a19502f0cfb7c706bda17c34cb9c2fa4162e178782df94e44cb01a9805a1db290cb8f4
7
- data.tar.gz: 24d4498d834fe938f9f0c1eeb1eaca15570baec8f4386faa71238d94bf62f12183f73ed30d8f9495fae1766dbb28e76376c8966a9c5d555900b9953a10a81076
6
+ metadata.gz: 48cee9018bcaa0819d6cd9115b9c9c61139e718f109bc5dfa0282e067abcc7e0d09479b6a088f053c8b368a7c53518bb93d02beedd679a1955fc4889c91199ae
7
+ data.tar.gz: 1ac435945e764db8a5fe3d9eba6253096ec1c06c8ed3d9ba97d416ac44df47b4e44486426f9e25545e029991265f8855ac4db95b798e656787d9272b7346d331
@@ -1,3 +1,3 @@
1
1
  module ElocalCapistrano
2
- VERSION = '2.2.1'
2
+ VERSION = '2.3.0'
3
3
  end
@@ -0,0 +1,65 @@
1
+ namespace :load do
2
+ task :defaults do
3
+ set :puma_application_name, -> { "#{fetch(:application)}_puma" }
4
+ set :delayed_job_application_name, -> { "#{fetch(:application)}_delayed_job" }
5
+ set :shoryuken_application_name, -> { "#{fetch(:application)}_shoryuken" }
6
+ end
7
+ end
8
+
9
+ namespace :service do
10
+ namespace :puma do
11
+ %w(reload start stop status).each do |t|
12
+ desc "Perform #{t} of the puma service"
13
+ task t do
14
+ on release_roles :app do
15
+ Array(fetch(:puma_application_name)).each do |app_name|
16
+ sudo :service, app_name, t
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ desc 'Perform a restart of the application puma service'
23
+ task :restart do
24
+ on release_roles :app do
25
+ Array(fetch(:puma_application_name)).each do |app_name|
26
+ execute <<-CMD.strip
27
+ pid=`systemctl show -p MainPID #{app_name}.service | grep -o -E '[0-9]+'`; if [ "$pid" -eq "0" ] || [ -z $pid ]; then sudo service #{app_name} start; else sudo service #{app_name} reload; fi
28
+ CMD
29
+ end
30
+ end
31
+ end
32
+
33
+ desc 'Perform a start/stop not a reload of the application puma service'
34
+ task :hard_restart do
35
+ on release_roles :app do
36
+ Array(fetch(:puma_application_name)).each do |app_name|
37
+ sudo :service, app_name, :restart
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ %i(delayed_job shoryuken).each do |task_name|
44
+ namespace task_name do
45
+ %w(start stop status).each do |t|
46
+ desc "Perform #{t} of the #{task_name} service"
47
+ task t do
48
+ on release_roles :app do
49
+ sudo :service, fetch(:"#{task_name}_application_name"), t
50
+ end
51
+ end
52
+ end
53
+
54
+ desc 'Perform a restart of the application #{task_name} service'
55
+ task :restart do
56
+ on release_roles :app do
57
+ job_name = fetch(:"#{task_name}_application_name")
58
+ execute <<-CMD.strip
59
+ pid=`systemctl show -p MainPID #{job_name} | grep -o -E '[0-9]+'`; if [ "$pid" -eq "0" ] || [ -z $pid ]; then sudo service #{job_name} start; else sudo service #{job_name} restart; fi
60
+ CMD
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elocal_capistrano
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Di Marco
@@ -59,6 +59,7 @@ files:
59
59
  - lib/tasks/deploy.rake
60
60
  - lib/tasks/git_tagging.rake
61
61
  - lib/tasks/maintenance.rake
62
+ - lib/tasks/services.rake
62
63
  - lib/tasks/ssh.rake
63
64
  - lib/tasks/syslog.rake
64
65
  - lib/tasks/upstart.rake