Class: Capistrano::Puma
- Inherits:
-
Plugin
- Object
- Plugin
- Capistrano::Puma
- Includes:
- PumaCommon
- Defined in:
- lib/capistrano/puma.rb
Defined Under Namespace
Classes: Jungle, Monit, Nginx, Workers
Instance Method Summary collapse
- #define_tasks ⇒ Object
- #puma_daemonize? ⇒ Boolean
- #puma_plugins ⇒ Object
- #puma_preload_app? ⇒ Boolean
- #puma_workers ⇒ Object
- #register_hooks ⇒ Object
- #set_defaults ⇒ Object
- #upload_puma_rb(role) ⇒ Object
Methods included from PumaCommon
#puma_bind, #puma_switch_user, #puma_user, #template_puma
Instance Method Details
#define_tasks ⇒ Object
55 56 57 |
# File 'lib/capistrano/puma.rb', line 55 def define_tasks eval_rakefile File.('../tasks/puma.rake', __FILE__) end |
#puma_daemonize? ⇒ Boolean
102 103 104 |
# File 'lib/capistrano/puma.rb', line 102 def puma_daemonize? fetch(:puma_daemonize) end |
#puma_plugins ⇒ Object
106 107 108 109 110 |
# File 'lib/capistrano/puma.rb', line 106 def puma_plugins Array(fetch(:puma_plugins)).collect do |bind| "plugin '#{bind}'" end.join("\n") end |
#puma_preload_app? ⇒ Boolean
98 99 100 |
# File 'lib/capistrano/puma.rb', line 98 def puma_preload_app? fetch(:puma_preload_app) end |
#puma_workers ⇒ Object
94 95 96 |
# File 'lib/capistrano/puma.rb', line 94 def puma_workers fetch(:puma_workers, 0) end |
#register_hooks ⇒ Object
89 90 91 92 |
# File 'lib/capistrano/puma.rb', line 89 def register_hooks after 'deploy:check', 'puma:check' after 'deploy:finished', 'puma:smart_restart' end |
#set_defaults ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/capistrano/puma.rb', line 59 def set_defaults set_if_empty :puma_role, :app set_if_empty :puma_env, -> { fetch(:rack_env, fetch(:rails_env, fetch(:stage))) } # Configure "min" to be the minimum number of threads to use to answer # requests and "max" the maximum. set_if_empty :puma_threads, [0, 16] set_if_empty :puma_workers, 0 set_if_empty :puma_rackup, -> { File.join(current_path, 'config.ru') } set_if_empty :puma_state, -> { File.join(shared_path, 'tmp', 'pids', 'puma.state') } set_if_empty :puma_pid, -> { File.join(shared_path, 'tmp', 'pids', 'puma.pid') } set_if_empty :puma_bind, -> { File.join("unix://#{shared_path}", 'tmp', 'sockets', 'puma.sock') } set_if_empty :puma_control_app, false set_if_empty :puma_default_control_app, -> { File.join("unix://#{shared_path}", 'tmp', 'sockets', 'pumactl.sock') } set_if_empty :puma_conf, -> { File.join(shared_path, 'puma.rb') } set_if_empty :puma_access_log, -> { File.join(shared_path, 'log', 'puma_access.log') } set_if_empty :puma_error_log, -> { File.join(shared_path, 'log', 'puma_error.log') } set_if_empty :puma_init_active_record, false set_if_empty :puma_preload_app, false set_if_empty :puma_daemonize, false set_if_empty :puma_tag, '' # Chruby, Rbenv and RVM integration append :chruby_map_bins, 'puma', 'pumactl' append :rbenv_map_bins, 'puma', 'pumactl' append :rvm_map_bins, 'puma', 'pumactl' # Bundler integration append :bundle_bins, 'puma', 'pumactl' end |
#upload_puma_rb(role) ⇒ Object
112 113 114 |
# File 'lib/capistrano/puma.rb', line 112 def upload_puma_rb(role) template_puma 'puma', fetch(:puma_conf), role end |