#!/bin/sh # vim: ts=4 sts=4 sw=4 # PROVIDE: mongrel_cluster # REQUIRE: DAEMON # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable mongrel_cluster: # mongrel_cluster_enable (bool): Set to "NO" by default. # Set it to "YES" to enable mongrel_cluster # mongrel_cluster_list (str): Set to "" by default. # The list of mongrel_cluster_list to start (leave off the .yml) # mongrel_cluster_dir (str): Set to "/usr/local/etc/mongrel_clusters" by default. # . /etc/rc.subr PATH=$PATH:/usr/local/bin name="mongrel_cluster" rcvar=`set_rcvar` start_cmd="${name}_start" stop_cmd="${name}_stop" load_rc_config $name eval "${rcvar}=\${${rcvar}:-'NO'}" [ -z "$mongrel_cluster_list" ] && mongrel_cluster_list="" [ -z "$mongrel_cluster_dir" ] && mongrel_cluster_dir="/usr/local/etc/mongrel_clusters" required_dirs=$mongrel_cluster_dir # First, let's setup our start/stop routines mongrel_cluster_start() { echo "Starting Mongrel Clusters:" for mongrel in $mongrel_cluster_list; do echo -n " ${mongrel} -- " /usr/local/bin/mongrel_rails cluster::start -C $mongrel_cluster_dir/$mongrel.yml done return 0 } mongrel_cluster_stop() { echo "Stopping Mongrel Clusters:" for mongrel in $mongrel_cluster_list; do echo -n " $mongrel -- " /usr/local/bin/mongrel_rails cluster::stop -C $mongrel_cluster_dir/$mongrel.yml done return 0 } # everything after the start/stop is a mongrel to be started/stopped cmd="$1" if [ $# -gt 0 ]; then shift fi if [ -n "$*" ]; then mongrel_cluster_list="$*" fi run_rc_command "${cmd}"