Sha256: 7dcfc6bc7d3031626667ba505577d35d8cba1d4d4cd9c26e3bc50c3a3c27006d
Contents?: true
Size: 1.95 KB
Versions: 3
Compression:
Stored size: 1.95 KB
Contents
#!/usr/bin/env ruby # Copyright (c) 2006 Bradley Taylor, bradley@fluxura.com require 'optparse' def run(command, verbose, clean=false) Dir.chdir @options[:conf_path] do confs = Dir.glob("*.yml") confs += Dir.glob("*.conf") confs.each do |conf| cmd = "mongrel_rails cluster::#{command} -C #{conf}" cmd += " -v" if verbose cmd += " --clean" if clean puts cmd if verbose || command == "status" output = `#{cmd}` puts output if verbose || command == "status" puts "mongrel_rails cluster::#{command} returned an error." unless $?.success? end end end @options = {} @options[:conf_path] = "/etc/mongrel_cluster" @options[:verbose] = false @options[:clean] = false OptionParser.new do |opts| opts.banner = "Usage: #{$0} (start|stop|restart|status) [options]" opts.on("-c", "--conf_path PATH", "Path to mongrel_cluster configuration files") { |value| @options[:conf_path] = value } opts.on('-v', '--verbose', "Print all called commands and output.") { |value| @options[:verbose] = value } opts.on('--clean', "Remove pid files if needed beforehand.") { |value| @options[:clean] = value } if ARGV.empty? puts opts exit else @cmd = opts.parse!(ARGV) if @cmd.nil? puts opts exit end end end if @options[:conf_path] == nil && !File.directory?(@options[:conf_path]) puts "Invalid path to mongrel_cluster configuration files: #{@options[:conf_path]}" exit end case @cmd[0] when "start": puts "Starting all mongrel_clusters..." run "start", @options[:verbose], @options[:clean] when "stop": puts "Stopping all mongrel_clusters..." run "stop", @options[:verbose], @options[:clean] when "restart": puts "Restarting all mongrel_clusters..." run "stop", @options[:verbose], @options[:clean] run "start", @options[:verbose], @options[:clean] when "status": puts "Checking all mongrel_clusters..." run "status", @options[:verbose] else puts "Unknown command." end exit
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mongrel_cluster-1.0.3 | bin/mongrel_cluster_ctl |
mongrel_cluster-1.0.4 | bin/mongrel_cluster_ctl |
mongrel_cluster-1.0.5 | bin/mongrel_cluster_ctl |