Sha256: 685ee537a86199122eb22777daf2953ca34cc23fede299e7afaae21305ae0b82

Contents?: true

Size: 909 Bytes

Versions: 2

Compression:

Stored size: 909 Bytes

Contents

namespace :puma do
  desc 'Start puma'
  task :start do
    on roles :app do
      within release_path do
        execute :bundle, "exec puma -C config/puma.rb -b 'unix://#{shared_path}/sockets/puma.sock' --pidfile #{shared_path}/pids/puma.pid -S #{state_path} -e #{fetch(:stage)} -d"
      end
    end
  end

  desc 'Stop puma'
  task :stop do
    on roles :app do
      within release_path do
        execute :bundle, "exec pumactl -S #{state_path} stop;true"
      end
    end
  end

  desc 'Restart puma'
  task :restart do
    on roles :app do
      within release_path do
        execute :bundle, "exec pumactl -S #{state_path} phased-restart;true"
      end
    end
  end

  desc 'Cold Restart puma'
  task :cold_restart do
    invoke 'puma:stop'
    sleep 3
    invoke 'puma:start'
  end

  def state_path
    "#{shared_path}/sockets/puma.state"
  end

  before 'deploy:published', 'puma:restart'
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
h2ocube_rails_puma-0.0.3 lib/capistrano/tasks/puma.cap
h2ocube_rails_puma-0.0.2 lib/capistrano/tasks/puma.cap