production 1 KB
#!/bin/sh

export RAILS_ENV=production

ACTION=$1
shift

clear_cache() {
  rm -f ./public/javascripts/cache-*.js
  rm -f ./public/stylesheets/cache.css
}

do_start() {
  if ! rake db:abort_if_pending_migrations; then
    echo "========================================"
    echo "There are pending migrations, please upgrade the database before starting the production server"
    exit 1
  fi

  clear_cache
  ./script/ferret_server -e $RAILS_ENV start
  ./script/feed-updater start
  ./script/delayed_job start
  mongrel_rails cluster::start
}

do_stop() {
  mongrel_rails cluster::stop
  ./script/delayed_job stop
  ./script/feed-updater stop
  ./script/ferret_server -e $RAILS_ENV stop
}

case "$ACTION" in
  start|stop)
    do_$ACTION
    ;;

  run)
    do_start
    echo "=> Running in production mode. Hit ctrl-C to stop."
    trap do_stop INT TERM
    tail -n 0 -f log/production.log
    ;;

  restart)
    do_stop
    sleep 1
    do_start
    ;;

  *)
    echo "usage: $0 start|stop|restart|run"
    exit 1
    ;;
esac