Sha256: 42cb2a0a776d7380d71d27484c41724580dc212967c1dbf8885b6588d35bfe24

Contents?: true

Size: 952 Bytes

Versions: 1

Compression:

Stored size: 952 Bytes

Contents

namespace :puma do
  namespace :workers do
    desc 'Add a worker'
    task :count do
      on roles (fetch(:puma_role)) do |role|
        puma_switch_user(role) do
        #TODO
        # cleanup
        # add host name/ip
        workers_count = capture("ps ax | grep -c 'puma: cluster worker: `cat  #{fetch(:puma_pid)}`'").to_i - 1
        log  "Workers count : #{workers_count}"
        end
      end
    end

    # TODO
    # Add/remove workers to specific host/s
    # Define  # of workers to add/remove
    # Refactor
    desc 'Worker++'
    task :more do
      on roles (fetch(:puma_role)) do |role|
        puma_switch_user(role) do
          execute(:kill, "-TTIN `cat  #{fetch(:puma_pid)}`")
        end
      end
    end

    desc 'Worker--'
    task :less do
      on roles (fetch(:puma_role)) do |role|
        puma_switch_user(role) do
          execute(:kill, "-TTOU `cat  #{fetch(:puma_pid)}`")
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano-puma-a-2.0.0 lib/capistrano/tasks/workers.rake