Sha256: 0483d21cda19d485a3fcfd087bf5a36350816900dcef455fb4d6828c7b96d890

Contents?: true

Size: 768 Bytes

Versions: 1

Compression:

Stored size: 768 Bytes

Contents

require 'pushapp/tasks/base'

module Pushapp
  module Tasks
    class UnicornSignal < Base
      def run
        pid = unicorn_pid
        if pid
          logger.info "sending #{unicorn_signal} to pid at #{unicorn_pid_file}"
          system "#{sudo} kill -#{unicorn_signal} #{unicorn_pid}"
        else
          logger.warn "can't find unicorn pid at '#{unicorn_pid_file}'"
        end
      end

      register_as :unicorn_signal

      private

      def unicorn_pid
        File.exists?(unicorn_pid_file) ? File.read(unicorn_pid_file).to_i : nil
      end

      def unicorn_pid_file
        options[:unicorn_pid_file] || "tmp/pids/unicorn.pid"
      end

      def unicorn_signal
        "#{options[:unicorn_signal] || :usr2}".upcase
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pushapp-0.0.5 lib/pushapp/tasks/unicorn_signal.rb