Sha256: f46cddbe2bc5303454df6818af7acd43be561355b248853c94ed82c333fadacd

Contents?: true

Size: 1.25 KB

Versions: 3

Compression:

Stored size: 1.25 KB

Contents

module GoldenBrindle
  module Actions
  
    class Restart < ::GoldenBrindle::Base

      def configure
        options [
          ['-c', '--chdir PATH', "Change to dir before starting (will be expanded).", :@cwd, "."],
          ['-C', '--config PATH', "Use a mongrel based config file", :@config_file, nil],
          ['-s', '--soft', "Do a soft restart rather than a process exit restart", :@soft, false],
          ['-P', '--pid FILE', "Where the PID file is located.", :@pid_file, "tmp/pids/unicorn.pid"]
        ]
      end

      def validate
        if @config_file
          valid_exists?(@config_file, "Config file not there: #{@config_file}")
          return false unless @valid
          @config_file = File.expand_path(@config_file)
          load_config
          return false unless @valid
        end

        @cwd = File.expand_path(@cwd)
        valid_dir? @cwd, "Invalid path to application dir: #{@cwd}"
        valid_exists? File.join(@cwd,@pid_file), "PID file #{@pid_file} does not exist. Not running?"
        @valid
      end

      def run
        if @soft
          GoldenBrindle::send_signal("HUP", File.join(@cwd,@pid_file))
        else
          GoldenBrindle::send_signal("USR2", File.join(@cwd,@pid_file))
        end
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
golden_brindle-0.3.2 lib/golden_brindle/actions/restart.rb
golden_brindle-0.3.1 lib/golden_brindle/actions/restart.rb
golden_brindle-0.3 lib/golden_brindle/actions/restart.rb