pixelforce_recipes 1.6 → 1.8

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
- SHA1:
3
- metadata.gz: 64f4526b060f50034f0c162a5eba31076fd6ef5e
4
- data.tar.gz: 0d3241f33aefabbd1a6ba449f52ab5b269bff811
2
+ SHA256:
3
+ metadata.gz: e2f2bb680c8a781970d5d1889b4f7c3107242c8b3052ed4f07d896e76236307e
4
+ data.tar.gz: c41a8ae182ca17398dda97f95dbf70d9c9407b7f75ce78cc74ae8be994350f95
5
5
  SHA512:
6
- metadata.gz: 62053ca4fce227f367dfb66eaa834f2a68582af12603b8eabbbb14c3d2645f01e399c694d11f9637a4de980a68991d40599552d0279eaa4907b54366aa44e53e
7
- data.tar.gz: 820c96d215832f9073b4df3c3ebe67e917bc1e2c530244c0ac429fbeb35c6292ec9d1e2c6992d48946fe60208cefc51b5420c04118a4047fe3b4cf0b9be33287
6
+ metadata.gz: cfc18005e3be92d5699e4f0e31abf1bff6db288102c8e5694c2f1bde806df281725f4febde50fa01988bb56362eefdc52cb258386bdc1275431b137e1ebe7e6d
7
+ data.tar.gz: cc309a15f2b368d17903742bcbd1ee1a6f31bbf6011dcac72a1f0231c23ab27cec813d9302cb5a8315f0ff1999cddc1f368c5b7f675d26466f44b5ae1898e954
@@ -1,27 +1,27 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pixelforce_recipes (1.6)
4
+ pixelforce_recipes (1.8)
5
5
  capistrano (> 2.0.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- airbrussh (1.3.0)
10
+ airbrussh (1.4.0)
11
11
  sshkit (>= 1.6.1, != 1.7.0)
12
- capistrano (3.11.0)
12
+ capistrano (3.12.0)
13
13
  airbrussh (>= 1.0.0)
14
14
  i18n
15
15
  rake (>= 10.0.0)
16
16
  sshkit (>= 1.9.0)
17
- concurrent-ruby (1.1.4)
17
+ concurrent-ruby (1.1.6)
18
18
  diff-lcs (1.2.5)
19
- i18n (1.4.0)
19
+ i18n (1.8.2)
20
20
  concurrent-ruby (~> 1.0)
21
- net-scp (1.2.1)
22
- net-ssh (>= 2.6.5)
23
- net-ssh (5.0.2)
24
- rake (10.5.0)
21
+ net-scp (2.0.0)
22
+ net-ssh (>= 2.6.5, < 6.0.0)
23
+ net-ssh (5.2.0)
24
+ rake (13.0.1)
25
25
  rspec (3.5.0)
26
26
  rspec-core (~> 3.5.0)
27
27
  rspec-expectations (~> 3.5.0)
@@ -35,7 +35,7 @@ GEM
35
35
  diff-lcs (>= 1.2.0, < 2.0)
36
36
  rspec-support (~> 3.5.0)
37
37
  rspec-support (3.5.0)
38
- sshkit (1.17.0)
38
+ sshkit (1.20.0)
39
39
  net-scp (>= 1.1.2)
40
40
  net-ssh (>= 2.8.0)
41
41
 
@@ -45,8 +45,8 @@ PLATFORMS
45
45
  DEPENDENCIES
46
46
  bundler (~> 1.12)
47
47
  pixelforce_recipes!
48
- rake (~> 10.0)
48
+ rake (~> 13.0)
49
49
  rspec (~> 3.0)
50
50
 
51
51
  BUNDLED WITH
52
- 1.15.0
52
+ 1.16.6
data/README.md CHANGED
@@ -34,8 +34,40 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
34
34
 
35
35
  Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/pixelforce_recipes. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
36
36
 
37
+ ## supervisor support
38
+
39
+ The recipes for capistrano3 with supervisor support.
40
+ Please use `process:supervisor:task` to invoke it.
41
+ They relied on some capistrano plugins for some variables
42
+
43
+ * [**rvm**](https://github.com/capistrano/rvm) for `rvm_ruby_version`
44
+
45
+ Tweak some option for supervisor, the following value is default
46
+
47
+ ```ruby
48
+ set :autostart, 'true'
49
+ set :autorestart, 'true'
50
+ set :logfile_maxbytes, '1GB'
51
+ set :logfile_backups, '10'
52
+ ```
53
+
54
+ #### unicorn
55
+
56
+ Relied on unicornherder for supervisor monitoring.
57
+
58
+ #### puma
59
+
60
+ Get rid of capistrano-puma, and now generate puma config itself.
61
+
62
+ ```ruby
63
+ set :puma_threads, [0, 1]
64
+ set :puma_workers, 2
65
+ ```
66
+
67
+ ## sysvinit support
68
+
69
+ Please use `process:sysvinit:task` to invoke it.
37
70
 
38
71
  ## License
39
72
 
40
73
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
41
-
@@ -6,7 +6,8 @@ if defined?(Capistrano::VERSION)
6
6
  require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/capistrano_3_recipes/base")
7
7
  require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/capistrano_3_recipes/sidekiq")
8
8
  require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/capistrano_3_recipes/resque")
9
- require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/capistrano_3_recipes/logrotate")
9
+ require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/capistrano_3_recipes/resque_scheduler")
10
+ require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/capistrano_3_recipes/supervisor")
10
11
  require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/capistrano_3_recipes/unicorn")
11
12
  require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/capistrano_3_recipes/puma")
12
13
  else
@@ -17,4 +18,4 @@ if defined?(Capistrano::VERSION)
17
18
  require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/legacy_recipes/puma")
18
19
  require File.expand_path("#{File.dirname(__FILE__)}/pixelforce_recipes/legacy_recipes/logrotate")
19
20
  end
20
- end
21
+ end
@@ -1,22 +1,63 @@
1
1
  namespace :puma do
2
2
 
3
3
  desc "Setup puma configuration for this application"
4
- task :setup do
4
+ task :config do
5
5
  on roles(:web) do
6
- template "puma_init.erb", "/tmp/puma"
7
- sudo "mv /tmp/puma /etc/init.d/#{fetch(:application)}"
8
- sudo "chmod +x /etc/init.d/#{fetch(:application)}"
9
- sudo "update-rc.d #{fetch(:application)} defaults"
10
- template "nginx_puma_config.erb", "/tmp/nginx_puma_config"
11
- sudo "mv /tmp/nginx_puma_config /etc/nginx/sites-enabled/#{fetch(:application)}"
6
+ template "puma.rb.erb", "/tmp/puma_conf"
7
+ sudo "mv /tmp/puma_conf #{shared_path}/config"
12
8
  end
13
9
  end
10
+ namespace :sysvinit do
11
+ task :setup do
12
+ on roles(:web) do
13
+ template "puma_init.erb", "/tmp/puma"
14
+ sudo "mv /tmp/puma /etc/init.d/#{fetch(:application)}"
15
+ sudo "chmod +x /etc/init.d/#{fetch(:application)}"
16
+ sudo "update-rc.d #{fetch(:application)} defaults"
17
+ template "nginx_puma_config.erb", "/tmp/nginx_puma_config"
18
+ sudo "mv /tmp/nginx_puma_config /etc/nginx/sites-enabled/#{fetch(:application)}"
19
+ end
20
+ end
21
+
22
+ %w[start stop restart reload].each do |command|
23
+ desc "#{command} puma"
24
+ task command do
25
+ on roles(:web) do
26
+ execute "/etc/init.d/#{fetch(:application)} #{command}"
27
+ end
28
+ end
29
+ end
30
+ end
31
+ namespace :supervisor do
32
+ task :setup do
33
+ on roles(:web) do
34
+ template "puma_supervisor.erb", "/tmp/puma"
35
+ sudo "mv /tmp/puma /etc/supervisor/conf.d/#{fetch(:application)}"
36
+ sudo "supervisorctl reread"
37
+ sudo "supervisorctl update" # it will auto start the application
38
+ template "nginx_puma_config.erb", "/tmp/nginx_puma_config"
39
+ sudo "mv /tmp/nginx_puma_config /etc/nginx/sites-enabled/#{fetch(:application)}"
40
+ end
41
+ end
14
42
 
15
- %w[start stop restart].each do |command|
16
- desc "#{command} puma"
17
- task command do
43
+ task :start do
44
+ on roles(:web) do
45
+ execute "supervisorctl start #{fetch(:application)}"
46
+ end
47
+ end
48
+ task :stop do
49
+ on roles(:web) do
50
+ execute "supervisorctl signal INT #{fetch(:application)}"
51
+ end
52
+ end
53
+ task :restart do
54
+ on roles(:web) do
55
+ execute "supervisorctl signal USR1 #{fetch(:application)}"
56
+ end
57
+ end
58
+ task :reload do
18
59
  on roles(:web) do
19
- execute "/etc/init.d/#{fetch(:application)} #{command}"
60
+ execute "supervisorctl signal USR2 #{fetch(:application)}"
20
61
  end
21
62
  end
22
63
  end
@@ -2,20 +2,41 @@ namespace :resque do
2
2
  desc "Install resque"
3
3
 
4
4
  desc "Setup resque configuration for this application"
5
- task :setup do
6
- on roles(:resque) do
7
- template "resque_init.erb", "/tmp/resque"
8
- sudo "mv /tmp/resque /etc/init.d/resque"
9
- sudo "chmod +x /etc/init.d/resque"
10
- sudo "update-rc.d resque defaults"
5
+ namespace :sysvinit do
6
+ task :setup do
7
+ on roles(:resque) do
8
+ template "resque_init.erb", "/tmp/resque"
9
+ sudo "mv /tmp/resque /etc/init.d/resque"
10
+ sudo "chmod +x /etc/init.d/resque"
11
+ sudo "update-rc.d resque defaults"
12
+ end
11
13
  end
12
- end
13
14
 
14
- %w[start stop restart].each do |command|
15
- desc "#{command} resque"
16
- task command do
15
+ %w[start stop restart].each do |command|
16
+ desc "#{command} resque"
17
+ task command do
18
+ on roles(:resque) do
19
+ execute "/etc/init.d/resque #{command}"
20
+ end
21
+ end
22
+ end
23
+ end
24
+ namespace :supervisor do
25
+ task :setup do
17
26
  on roles(:resque) do
18
- execute "/etc/init.d/resque #{command}"
27
+ template "resque_supervisor.erb", "/tmp/resque"
28
+ sudo "mv /tmp/resque /etc/supervisor/conf.d/resque"
29
+ sudo "supervisorctl reread"
30
+ sudo "supervisorctl update" # it will auto start the application
31
+ end
32
+ end
33
+
34
+ %w[start stop restart].each do |command|
35
+ desc "#{command} resque"
36
+ task command do
37
+ on roles(:resque) do
38
+ execute "supervisorctl #{command} resque"
39
+ end
19
40
  end
20
41
  end
21
42
  end
@@ -2,20 +2,41 @@ namespace :resque_scheduler do
2
2
  desc "Install resque scheduler"
3
3
 
4
4
  desc "Setup resque scheduler configuration for this application"
5
- task :setup do
6
- on roles(:resque) do
7
- template "resque_scheduler_init.erb", "/tmp/resque_scheduler"
8
- sudo "mv /tmp/resque_scheduler /etc/init.d/resque_scheduler"
9
- sudo "chmod +x /etc/init.d/resque_scheduler"
10
- sudo "update-rc.d resque_scheduler defaults"
5
+ namespace :sysvinit do
6
+ task :setup do
7
+ on roles(:resque) do
8
+ template "resque_scheduler_init.erb", "/tmp/resque_scheduler"
9
+ sudo "mv /tmp/resque_scheduler /etc/init.d/resque_scheduler"
10
+ sudo "chmod +x /etc/init.d/resque_scheduler"
11
+ sudo "update-rc.d resque_scheduler defaults"
12
+ end
11
13
  end
12
- end
13
14
 
14
- %w[start stop restart].each do |command|
15
- desc "#{command} resque_scheduler"
16
- task command do
15
+ %w[start stop restart].each do |command|
16
+ desc "#{command} resque_scheduler"
17
+ task command do
18
+ on roles(:resque) do
19
+ execute "/etc/init.d/resque_scheduler #{command}"
20
+ end
21
+ end
22
+ end
23
+ end
24
+ namespace :supervisor do
25
+ task :setup do
17
26
  on roles(:resque) do
18
- execute "/etc/init.d/resque_scheduler #{command}"
27
+ template "resque_scheduler_supervisor.erb", "/tmp/resque_scheduler"
28
+ sudo "mv /tmp/resque_scheduler /etc/supervisor/conf.d/resque_scheduler"
29
+ sudo "supervisorctl reread"
30
+ sudo "supervisorctl update" # it will auto start the application
31
+ end
32
+ end
33
+
34
+ %w[start stop restart].each do |command|
35
+ desc "#{command} resque_scheduler"
36
+ task command do
37
+ on roles(:resque) do
38
+ execute "supervisorctl #{command} resque_scheduler"
39
+ end
19
40
  end
20
41
  end
21
42
  end
@@ -2,20 +2,41 @@ namespace :sidekiq do
2
2
  desc "Install sidekiq"
3
3
 
4
4
  desc "Setup sidekiq configuration for this application"
5
- task :setup do
6
- on roles(:sidekiq) do
7
- template "sidekiq_init.erb", "/tmp/sidekiq"
8
- sudo "mv /tmp/sidekiq /etc/init.d/sidekiq"
9
- sudo "chmod +x /etc/init.d/sidekiq"
10
- sudo "update-rc.d sidekiq defaults"
5
+ namespace :sysvinit do
6
+ task :setup do
7
+ on roles(:sidekiq) do
8
+ template "sidekiq_init.erb", "/tmp/sidekiq"
9
+ sudo "mv /tmp/sidekiq /etc/init.d/sidekiq"
10
+ sudo "chmod +x /etc/init.d/sidekiq"
11
+ sudo "update-rc.d sidekiq defaults"
12
+ end
11
13
  end
12
- end
13
14
 
14
- %w[start stop restart].each do |command|
15
- desc "#{command} sidekiq"
16
- task command do
15
+ %w[start stop restart].each do |command|
16
+ desc "#{command} sidekiq"
17
+ task command do
18
+ on roles(:sidekiq) do
19
+ execute "/etc/init.d/sidekiq #{command}"
20
+ end
21
+ end
22
+ end
23
+ end
24
+ namespace :supervisor do
25
+ task :setup do
17
26
  on roles(:sidekiq) do
18
- execute "/etc/init.d/sidekiq #{command}"
27
+ template "sidekiq_supervisor.erb", "/tmp/sidekiq"
28
+ sudo "mv /tmp/sidekiq /etc/supervisor/conf.d/sidekiq"
29
+ sudo "supervisorctl reread"
30
+ sudo "supervisorctl update" # it will auto start the application
31
+ end
32
+ end
33
+
34
+ %w[start stop restart].each do |command|
35
+ desc "#{command} sidekiq"
36
+ task command do
37
+ on roles(:sidekiq) do
38
+ execute "supervisorctl #{command} sidekiq"
39
+ end
19
40
  end
20
41
  end
21
42
  end
@@ -0,0 +1,9 @@
1
+ namespace :supervisor do
2
+ desc "Setup supervisor configuration for this application"
3
+ task :setup do
4
+ on roles(:app) do
5
+ template "supervisor.erb", "/tmp/supervisor"
6
+ sudo "mv /tmp/supervisor /etc/supervisor/supervisord.conf"
7
+ end
8
+ end
9
+ end
@@ -1,23 +1,57 @@
1
1
  namespace :unicorn do
2
2
  desc "Install unicorn"
3
+ namespace :sysvinit do
4
+ task :setup do
5
+ on roles(:web) do
6
+ template "unicorn_init.erb", "/tmp/unicorn"
7
+ sudo "mv /tmp/unicorn /etc/init.d/#{fetch(:application)}"
8
+ sudo "chmod +x /etc/init.d/#{fetch(:application)}"
9
+ sudo "update-rc.d #{fetch(:application)} defaults"
10
+ template "nginx_config.erb", "/tmp/nginx_config"
11
+ sudo "mv /tmp/nginx_config /etc/nginx/sites-enabled/#{fetch(:application)}"
12
+ end
13
+ end
3
14
 
4
- desc "Setup unicorn configuration for this application"
5
- task :setup do
6
- on roles(:web) do
7
- template "unicorn_init.erb", "/tmp/unicorn"
8
- sudo "mv /tmp/unicorn /etc/init.d/#{fetch(:application)}"
9
- sudo "chmod +x /etc/init.d/#{fetch(:application)}"
10
- sudo "update-rc.d #{fetch(:application)} defaults"
11
- template "nginx_config.erb", "/tmp/nginx_config"
12
- sudo "mv /tmp/nginx_config /etc/nginx/sites-enabled/#{fetch(:application)}"
15
+ %w[start stop restart reload].each do |command|
16
+ desc "#{command} unicorn"
17
+ task command do
18
+ on roles(:web) do
19
+ execute "/etc/init.d/#{fetch(:application)} #{command}"
20
+ end
21
+ end
13
22
  end
14
23
  end
24
+ namespace :supervisor do
25
+ desc "Setup unicorn configuration for this application"
26
+ task :setup do
27
+ on roles(:web) do
28
+ template "unicorn_supervisor.erb", "/tmp/unicorn"
29
+ sudo "mv /tmp/unicorn /etc/supervisor/conf.d/#{fetch(:application)}"
30
+ sudo "supervisorctl reread"
31
+ sudo "supervisorctl update" # it will auto start the application
32
+ template "nginx_config.erb", "/tmp/nginx_config"
33
+ sudo "mv /tmp/nginx_config /etc/nginx/sites-enabled/#{fetch(:application)}"
34
+ end
35
+ end
15
36
 
16
- %w[start stop restart].each do |command|
17
- desc "#{command} unicorn"
18
- task command do
37
+ task :start do
38
+ on roles(:web) do
39
+ execute "supervisorctl start #{fetch(:application)}"
40
+ end
41
+ end
42
+ task :stop do
43
+ on roles(:web) do
44
+ execute "supervisorctl signal QUIT #{fetch(:application)}"
45
+ end
46
+ end
47
+ task :restart do
48
+ on roles(:web) do
49
+ execute "supervisorctl signal USR2 #{fetch(:application)}"
50
+ end
51
+ end
52
+ task :reload do
19
53
  on roles(:web) do
20
- execute "/etc/init.d/#{fetch(:application)} #{command}"
54
+ execute "supervisorctl signal HUP #{fetch(:application)}"
21
55
  end
22
56
  end
23
57
  end
@@ -37,4 +37,4 @@ server {
37
37
  error_page 500 502 503 504 /500.html;
38
38
  client_max_body_size 10M;
39
39
  keepalive_timeout 10;
40
- }
40
+ }
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env puma
2
+
3
+ directory '<%= current_path %>'
4
+ rackup "#{current_path}/config.ru"
5
+ environment '<%= fetch(:rails_env, 'production') %>'
6
+ tag '<%= fetch(:application)%>'
7
+ pidfile "#{shared_path}/pids/puma.pid"
8
+ state_path "#{shared_path}/pids/puma.state"
9
+ stdout_redirect "#{shared_path}/log/puma_access.log", "#{shared_path}/log/puma_error.log", true
10
+
11
+ threads <%= fetch(:puma_threads, [0, 1]).join(',')%>
12
+
13
+ bind "unix:///tmp/<%= fetch(:application)%>.sock"
14
+
15
+ activate_control_app "unix://#{shared_path}/tmp/sockets/pumactl.sock"
16
+
17
+ workers <%= fetch(:puma_workers, 2) %>
18
+
19
+ preload_app!
20
+
21
+ on_restart do
22
+ puts 'Refreshing Gemfile'
23
+ ENV["BUNDLE_GEMFILE"] = "<%= fetch(:bundle_gemfile, "#{current_path}/Gemfile") %>"
24
+ end
25
+
26
+ before_fork do
27
+ ActiveRecord::Base.connection_pool.disconnect!
28
+ end
29
+
30
+ on_worker_boot do
31
+ ActiveSupport.on_load(:active_record) do
32
+ ActiveRecord::Base.establish_connection
33
+ end
34
+ end
@@ -13,7 +13,7 @@
13
13
  USER="<%= fetch(:user) %>"
14
14
  DAEMON=puma
15
15
  PROJECT_PATH="<%= fetch(:deploy_to) %>"
16
- DAEMON_OPTS="-e <%= fetch(:rails_env) %> -d"
16
+ DAEMON_OPTS="-C $PROJECT_PATH/shared/config/puma.rb -e <%= fetch(:rails_env) %> -d"
17
17
  NAME=puma
18
18
  DESC="puma app for $USER"
19
19
  PID="$PROJECT_PATH/shared/pids/puma.pid"
@@ -33,17 +33,17 @@ case "$1" in
33
33
  ;;
34
34
  stop)
35
35
  echo -n "Stopping $DESC: "
36
- kill -QUIT `cat $PID`
36
+ kill -INT `cat $PID`
37
37
  echo "$NAME."
38
38
  ;;
39
39
  restart)
40
40
  echo -n "Restarting $DESC: "
41
- kill -USR2 `cat $PID`
41
+ kill -USR1 `cat $PID`
42
42
  echo "$NAME."
43
43
  ;;
44
44
  reload)
45
45
  echo -n "Reloading $DESC configuration: "
46
- kill -HUP `cat $PID`
46
+ kill -USR2 `cat $PID`
47
47
  echo "$NAME."
48
48
  ;;
49
49
  *)
@@ -0,0 +1,13 @@
1
+ [program:<%= fetch(:application) %>]
2
+ user=<%= fetch(:user) %>
3
+ environment=HOME="/home/<%= fetch(:user) %>",USER="<%= fetch(:user) %>"
4
+ directory=<%= fetch(:deploy_to) %>/current
5
+ command=/home/<%= fetch(:user) %>/.rvm/bin/rvm <%= fetch(:rvm_ruby_version, '2.4.7') %> do bundle exec puma -C <%= fetch(:deploy_to) %>/shared/config/puma.rb -e <%= fetch(:rails_env) %>
6
+ autostart=<%= fetch(:autostart, 'true') %>
7
+ autorestart=<%= fetch(:autorestart, 'true') %>
8
+ startsecs=5
9
+ startretries=3
10
+ stderr_logfile=<%= fetch(:deploy_to) %>/shared/log/puma.error.log
11
+ stdout_logfile=<%= fetch(:deploy_to) %>/shared/log/puma.access.log
12
+ stdout_logfile_maxbytes=<%= fetch(:logfile_maxbytes, '5GB') %>
13
+ stdout_logfile_backups=<%= fetch(:logfile_backups, '10') %>
@@ -10,7 +10,7 @@
10
10
  # Description: starts resque
11
11
  ### END INIT INFO
12
12
 
13
- USER="deploy"
13
+ USER="<%= fetch(:user) %>"
14
14
  PROJECT_PATH="<%= fetch(:deploy_to) %>"
15
15
  NAME=resque
16
16
  DESC="Resque app for $USER"
@@ -46,4 +46,4 @@ case "$1" in
46
46
  ;;
47
47
  esac
48
48
 
49
- exit 0
49
+ exit 0
@@ -10,7 +10,7 @@
10
10
  # Description: starts resque scheduler
11
11
  ### END INIT INFO
12
12
 
13
- USER="deploy"
13
+ USER="<%= fetch(:user) %>"
14
14
  PROJECT_PATH="<%= fetch(:deploy_to) %>"
15
15
  NAME="resque_scheduler"
16
16
  DESC="Resque Scheduler for $USER"
@@ -46,4 +46,4 @@ case "$1" in
46
46
  ;;
47
47
  esac
48
48
 
49
- exit 0
49
+ exit 0
@@ -0,0 +1,12 @@
1
+ [program:resque_scheduler]
2
+ user=<%= fetch(:user) %>
3
+ environment=HOME="/home/<%= fetch(:user) %>",USER="<%= fetch(:user) %>"
4
+ directory=<%= fetch(:deploy_to) %>/current
5
+ command=/home/<%= fetch(:user) %>/.rvm/bin/rvm <%= fetch(:rvm_ruby_version, '2.4.7') %> do bundle exec rake RAILS_ENV=<%= fetch(:rails_env) %> QUEUE='*' environment resque:scheduler 2>&1 > <%= fetch(:deploy_to) %>/shared/log/resque_scheduler.log
6
+ autostart=<%= fetch(:autostart, 'true') %>
7
+ autorestart=<%= fetch(:autorestart, 'true') %>
8
+ startsecs=5
9
+ startretries=3
10
+ stdout_logfile=<%= fetch(:deploy_to) %>/shared/log/resque_scheduler.log
11
+ stdout_logfile_maxbytes=<%= fetch(:logfile_maxbytes, '1GB') %>
12
+ stdout_logfile_backups=<%= fetch(:logfile_backups, '10') %>
@@ -0,0 +1,12 @@
1
+ [program:resque]
2
+ user=<%= fetch(:user) %>
3
+ environment=HOME="/home/<%= fetch(:user) %>",USER="<%= fetch(:user) %>"
4
+ directory=<%= fetch(:deploy_to) %>/current
5
+ command=/home/<%= fetch(:user) %>/.rvm/bin/rvm <%= fetch(:rvm_ruby_version, '2.4.7') %> do bundle exec rake RAILS_ENV=<%= fetch(:rails_env) %> QUEUE=critical,default,mailers,low environment resque:work 2>&1 > <%= fetch(:deploy_to) %>/shared/log/resque.log
6
+ autostart=<%= fetch(:autostart, 'true') %>
7
+ autorestart=<%= fetch(:autorestart, 'true') %>
8
+ startsecs=5
9
+ startretries=3
10
+ stdout_logfile=<%= fetch(:deploy_to) %>/shared/log/resque.log
11
+ stdout_logfile_maxbytes=<%= fetch(:logfile_maxbytes, '1GB') %>
12
+ stdout_logfile_backups=<%= fetch(:logfile_backups, '10') %>
@@ -10,7 +10,7 @@
10
10
  # Description: starts sidekiq
11
11
  ### END INIT INFO
12
12
 
13
- USER="deploy"
13
+ USER="<%= fetch(:user) %>"
14
14
  DAEMON=sidekiq
15
15
  PROJECT_PATH="<%= fetch(:deploy_to) %>"
16
16
  NAME=sidekiq
@@ -0,0 +1,12 @@
1
+ [program:sidekiq]
2
+ user=<%= fetch(:user) %>
3
+ environment=HOME="/home/<%= fetch(:user) %>",USER="<%= fetch(:user) %>"
4
+ directory=<%= fetch(:deploy_to) %>/current
5
+ command=/home/<%= fetch(:user) %>/.rvm/bin/rvm <%= fetch(:rvm_ruby_version, '2.4.7') %> do bundle exec sidekiq -L <%= fetch(:deploy_to) %>/shared/log/sidekiq.log -e <%= fetch(:rails_env) %>
6
+ autostart=<%= fetch(:autostart, 'true') %>
7
+ autorestart=<%= fetch(:autorestart, 'true') %>
8
+ startsecs=5
9
+ startretries=3
10
+ stdout_logfile=<%= fetch(:deploy_to) %>/shared/log/sidekiq.log
11
+ stdout_logfile_maxbytes=<%= fetch(:logfile_maxbytes, '1GB') %>
12
+ stdout_logfile_backups=<%= fetch(:logfile_backups, '10') %>
@@ -0,0 +1,19 @@
1
+ ; Generated with pixelforce recipies
2
+ [unix_http_server]
3
+ file=/tmp/supervisor.sock ; (the path to the socket file)
4
+ chmod=0700 ; sockef file mode (default 0700)
5
+
6
+ [supervisord]
7
+ user=<%= fetch(:user) %>
8
+ logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
9
+ pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
10
+
11
+ [rpcinterface:supervisor]
12
+ supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
13
+
14
+ [supervisorctl]
15
+ serverurl=unix:///tmp/supervisor.sock
16
+
17
+ [include]
18
+ files = /etc/supervisor/conf.d/*.conf
19
+
@@ -0,0 +1,13 @@
1
+ [program:<%= fetch(:application) %>]
2
+ user=<%= fetch(:user) %>
3
+ environment=HOME="/home/<%= fetch(:user) %>",USER="<%= fetch(:user) %>"
4
+ directory=<%= fetch(:deploy_to) %>/current
5
+ command=/home/<%= fetch(:user) %>/.rvm/bin/rvm <%= fetch(:rvm_ruby_version, '2.4.7') %> do bundle exec unicornherder -u unicorn -p <%= fetch(:deploy_to) %>/shared/pids/unicorn.pid -- -c config/unicorn.rb -E <%= fetch(:rails_env) %>
6
+ autostart=<%= fetch(:autostart, 'true') %>
7
+ autorestart=<%= fetch(:autorestart, 'true') %>
8
+ startsecs=5
9
+ startretries=3
10
+ stderr_logfile=<%= fetch(:deploy_to) %>/shared/log/<%= fetch(:application) %>.log
11
+ stdout_logfile=<%= fetch(:deploy_to) %>/shared/log/<%= fetch(:rails_env) %>.log
12
+ stdout_logfile_maxbytes=<%= fetch(:logfile_maxbytes, '5GB') %>
13
+ stdout_logfile_backups=<%= fetch(:logfile_backups, '10') %>
@@ -1,3 +1,3 @@
1
1
  module PixelforceRecipes
2
- VERSION = "1.6"
2
+ VERSION = "1.8"
3
3
  end
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.12"
23
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "rake", "~> 13.0"
24
24
  spec.add_development_dependency "rspec", "~> 3.0"
25
25
  spec.add_dependency(%q<capistrano>, ["> 2.0.0"])
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pixelforce_recipes
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.6'
4
+ version: '1.8'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Zhang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-19 00:00:00.000000000 Z
11
+ date: 2020-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -89,6 +89,7 @@ files:
89
89
  - lib/pixelforce_recipes/capistrano_3_recipes/resque.rb
90
90
  - lib/pixelforce_recipes/capistrano_3_recipes/resque_scheduler.rb
91
91
  - lib/pixelforce_recipes/capistrano_3_recipes/sidekiq.rb
92
+ - lib/pixelforce_recipes/capistrano_3_recipes/supervisor.rb
92
93
  - lib/pixelforce_recipes/capistrano_3_recipes/unicorn.rb
93
94
  - lib/pixelforce_recipes/legacy_recipes/base.rb
94
95
  - lib/pixelforce_recipes/legacy_recipes/logrotate.rb
@@ -100,11 +101,18 @@ files:
100
101
  - lib/pixelforce_recipes/templates/logrotate.erb
101
102
  - lib/pixelforce_recipes/templates/nginx_config.erb
102
103
  - lib/pixelforce_recipes/templates/nginx_puma_config.erb
104
+ - lib/pixelforce_recipes/templates/puma.rb.erb
103
105
  - lib/pixelforce_recipes/templates/puma_init.erb
106
+ - lib/pixelforce_recipes/templates/puma_supervisor.erb
104
107
  - lib/pixelforce_recipes/templates/resque_init.erb
105
108
  - lib/pixelforce_recipes/templates/resque_scheduler_init.erb
109
+ - lib/pixelforce_recipes/templates/resque_scheduler_supervisor.erb
110
+ - lib/pixelforce_recipes/templates/resque_supervisor.erb
106
111
  - lib/pixelforce_recipes/templates/sidekiq_init.erb
112
+ - lib/pixelforce_recipes/templates/sidekiq_supervisor.erb
113
+ - lib/pixelforce_recipes/templates/supervisor.erb
107
114
  - lib/pixelforce_recipes/templates/unicorn_init.erb
115
+ - lib/pixelforce_recipes/templates/unicorn_supervisor.erb
108
116
  - lib/pixelforce_recipes/version.rb
109
117
  - pixelforce_recipes.gemspec
110
118
  homepage: https://git.pixelforcesystems.com.au/
@@ -127,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
135
  version: '0'
128
136
  requirements: []
129
137
  rubyforge_project:
130
- rubygems_version: 2.5.1
138
+ rubygems_version: 2.7.9
131
139
  signing_key:
132
140
  specification_version: 4
133
141
  summary: Write a short summary, because Rubygems requires one.