Subversion Repositories SmartDukaan

Rev

Rev 3728 | Rev 4700 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3728 chandransh 1
#! /bin/sh
2
### BEGIN INIT INFO
3
# Provides:          helper_server
4
# Required-Start:    $network $config_server
5
# Required-Stop:     $network $config_server
6
# Default-Start:     2 3 4 5
7
# Default-Stop:      0 1 6
8
# Short-Description: Example initscript
9
# Description:       This file should be used to start the configuraiton server.
10
### END INIT INFO
11
 
12
# Author: Chandranshu <chandranshu.s@shop2020.in>
13
#
14
# Please remove the "Author" lines above and replace them
15
# with your own name if you copy and modify this script.
16
 
17
# Do NOT "set -e"
18
 
19
# PATH should only include /usr/* if it runs after the mountnfs.sh script
20
PATH=/sbin:/usr/sbin:/bin:/usr/bin
3920 chandransh 21
PROJECT_DIR="/root/code/trunk"
3728 chandransh 22
LOGDIR="${PROJECT_DIR}/runutils"
23
export PYTHONPATH=${PROJECT_DIR}/PyProj/src:${PROJECT_DIR}/ThriftConfigPy/src:/usr/lib/pymodules/python2.6:/usr/lib/pymodules/python2.6/gtk-2.0:/usr/lib/python2.6:/usr/lib/python2.6/dist-packages:/usr/lib/python2.6/dist-packages/PIL:/usr/lib/python2.6/dist-packages/gst-0.10:/usr/lib/python2.6/dist-packages/gtk-2.0:/usr/lib/python2.6/lib-dynload:/usr/lib/python2.6/lib-old:/usr/lib/python2.6/lib-tk:/usr/lib/python2.6/plat-linux2:/usr/local/lib/python2.6/dist-packages:/usr/local/lib/python2.6/dist-packages/Elixir-0.7.1-py2.6.egg:/usr/local/lib/python2.6/dist-packages/TracXMLRPC-0.1-py2.6.egg:/usr/local/lib/python2.6/dist-packages/tornado-1.0.1-py2.6.egg
24
DESC="Helper server used by the catalog and order management dashboards for authorization"
25
NAME="helper-server"
26
PIDFILE=/var/run/$NAME.pid
27
DAEMON=/usr/bin/python2.6
28
SCRIPTNAME=/etc/init.d/$NAME
29
 
30
# Exit if the package is not installed
31
[ -x "$DAEMON" ] || exit 0
32
 
33
# Read configuration variable file if it is present
34
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
35
 
36
# Load the VERBOSE setting and other rcS variables
37
. /lib/init/vars.sh
38
 
39
# Define LSB log_* functions.
40
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
41
. /lib/lsb/init-functions
42
 
43
#
44
# Function that starts the daemon/service
45
#
46
do_start()
47
{
48
	# Return
49
	#   0 if daemon has been started
50
	#   1 if daemon was already running
51
	#   2 if daemon could not be started
52
        $DAEMON -u ${PROJECT_DIR}/PyProj/src//shop2020/helpers/impl/HelperServer.py -l /var/log/services/helper.log -i $PIDFILE start 
53
	# Add code here, if necessary, that waits for the process to be ready
54
	# to handle requests from services started subsequently which depend
55
	# on this one.  As a last resort, sleep for some time.
56
}
57
 
58
#
59
# Function that stops the daemon/service
60
#
61
do_stop()
62
{
63
	# Return
64
	#   0 if daemon has been stopped
65
	#   1 if daemon was already stopped
66
	#   2 if daemon could not be stopped
67
	#   other if a failure occurred
68
        $DAEMON -u ${PROJECT_DIR}/PyProj/src//shop2020/helpers/impl/HelperServer.py -l /var/log/services/helper.log -i $PIDFILE stop
69
	RETVAL="$?"
70
	[ "$RETVAL" = 1 ] && return 2
71
	# Wait for children to finish too if this is a daemon that forks
72
	# and if the daemon is only ever run from this initscript.
73
	# If the above conditions are not satisfied then add some other code
74
	# that waits for the process to drop all resources that could be
75
	# needed by services started subsequently.  A last resort is to
76
	# sleep for some time.
77
	#start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
78
	#[ "$?" = 2 ] && return 2
79
	# Many daemons don't delete their pidfiles when they exit.
80
	rm -f $PIDFILE
81
	return "$RETVAL"
82
}
83
 
84
#
85
# Function that sends a SIGHUP to the daemon/service
86
#
87
do_reload() {
88
	#
89
	# If the daemon can reload its configuration without
90
	# restarting (for example, when it is sent a SIGHUP),
91
	# then implement that here.
92
	#
93
	#start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
94
	return 0
95
}
96
 
97
case "$1" in
98
  start)
99
	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
100
	do_start
101
	case "$?" in
102
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
103
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
104
	esac
105
	;;
106
  stop)
107
	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
108
	do_stop
109
	case "$?" in
110
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
111
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
112
	esac
113
	;;
114
  status)
115
       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
116
       ;;
117
  #reload|force-reload)
118
	#
119
	# If do_reload() is not implemented then leave this commented out
120
	# and leave 'force-reload' as an alias for 'restart'.
121
	#
122
	#log_daemon_msg "Reloading $DESC" "$NAME"
123
	#do_reload
124
	#log_end_msg $?
125
	#;;
126
  restart|force-reload)
127
	#
128
	# If the "reload" option is implemented then remove the
129
	# 'force-reload' alias
130
	#
131
	log_daemon_msg "Restarting $DESC" "$NAME"
132
	do_stop
133
	case "$?" in
134
	  0|1)
135
		do_start
136
		case "$?" in
137
			0) log_end_msg 0 ;;
138
			1) log_end_msg 1 ;; # Old process is still running
139
			*) log_end_msg 1 ;; # Failed to start
140
		esac
141
		;;
142
	  *)
143
	  	# Failed to stop
144
		log_end_msg 1
145
		;;
146
	esac
147
	;;
148
  *)
149
	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
150
	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
151
	exit 3
152
	;;
153
esac
154
 
155
: