~vila/udd/717204-stop-too-fast

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
53
54
55
56
57
58
59
#!/bin/sh

BASEDIR=/srv/package-import.canonical.com/new/
PATH=${BASEDIR}scripts:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=mass-import
DAEMON=${BASEDIR}scripts/mass_import.py
PIDFILE=${BASEDIR}mass-import.pid
STOPFILE=${BASEDIR}STOP_PLEASE
USER=pkg_import
export LANG="en_GB.UTF-8"
export PATH
export PYTHONPATH=${BASEDIR}scripts/python-debian/:${BASEDIR}
export BZR_PLUGIN_PATH=${BASEDIR}scripts/plugins/
export TMPDIR=${BASEDIR}tmp
export BZR_EMAIL="Bazaar Package Importer <james.westby@ubuntu.com>"

usage() {
    echo "Usage: $0 {start|stop|restart|status|graceful-stop}"
}

d_start() {
    start-stop-daemon --quiet --start --name $NAME --pidfile $PIDFILE \
        --background --make-pidfile --exec $DAEMON -c $USER --
}

d_stop() {
    start-stop-daemon --stop --pidfile $PIDFILE --exec /usr/bin/python
}

case "$1" in
    start)
        echo -n "Starting $NAME"
        rm -f $STOPFILE
        d_start
        echo "."
        ;;
    stop)
        echo -n "Stopping $NAME"
        d_stop
        echo "."
        ;;
    restart)
        echo -n "Restarting $NAME"
        d_stop
        sleep 1
        d_start
        echo "."
        ;;
    graceful-stop)
        echo -n "Requesting stop of $NAME"
        touch $STOPFILE
        echo "."
        ;;
    *)
        usage
        exit 1
        ;;
esac