summaryrefslogtreecommitdiff
path: root/bin/mail_room
blob: f4f1a170c042b763bf484cee28a5252e5a380dd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/sh

cd $(dirname $0)/..
app_root=$(pwd)

mail_room_pidfile="$app_root/tmp/pids/mail_room.pid"
mail_room_logfile="$app_root/log/mail_room.log"
mail_room_config="$app_root/config/mail_room.yml"

get_mail_room_pid()
{
  local pid=$(cat $mail_room_pidfile)
  if [ -z "$pid" ] ; then
    echo "Could not find a PID in $mail_room_pidfile"
    exit 1
  fi
  mail_room_pid=$pid
}

start()
{
  bundle exec mail_room -q -c $mail_room_config >> $mail_room_logfile 2>&1 &
  PID=$!
  echo $PID > $mail_room_pidfile
}

stop()
{
  get_mail_room_pid
  kill -TERM $mail_room_pid
}

restart()
{
  stop
  start
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    ;;
esac