Sha256: ea9515eb46565b6299a8d19e26e67a01336c7d6ad9984a8204b242b1e6e0df34

Contents?: true

Size: 670 Bytes

Versions: 2

Compression:

Stored size: 670 Bytes

Contents

namespace :puma do
  namespace :systemd do
    desc 'Reload the puma service via systemd by sending USR1 (e.g. trigger a zero downtime deploy)'
    task :reload do
      on roles(fetch(:puma_role)) do
        if fetch(:puma_systemctl_user) == :system
          sudo "#{fetch(:puma_systemctl_bin)} reload-or-restart #{fetch(:puma_service_unit_name)}"
        else
          execute :loginctl, "enable-linger", fetch(:puma_lingering_user) if fetch(:puma_enable_lingering)
          execute "#{fetch(:puma_systemctl_bin)}", "--user", "reload-or-restart", fetch(:puma_service_unit_name)
        end
      end
    end
  end
end

after 'deploy:finished', 'puma:systemd:reload'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
capistrano-cookbook-5.0.2 lib/capistrano/cookbook/tasks/puma_systemd.cap
capistrano-cookbook-5.0.1 lib/capistrano/cookbook/tasks/puma_systemd.cap