kopia lustrzana https://github.com/hholzgra/maposmatic/
Update the INSTALL instructions for the new rendering daemon
Update the installation instructions for the new rendering daemon and provide and updated init script template. Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>stable
rodzic
0d37dd372a
commit
cfc1585515
23
INSTALL
23
INSTALL
|
@ -48,21 +48,22 @@ using :
|
|||
|
||||
python www/manage.py syncdb
|
||||
|
||||
The scripts/maposmaticd daemon should be run in the background. It will fetch
|
||||
rendering jobs from the database and put the results in a directory, as
|
||||
specified in the settings_local.py file.
|
||||
The rendering daemon should be run in the background. It will fetch rendering
|
||||
jobs from the database and put the results in a directory, as specified in the
|
||||
settings_local.py file.
|
||||
|
||||
You can adapt the example of init script given in
|
||||
support/init-maposmaticd-template:
|
||||
To setup the daemon, you need to configure the wrapper in the scripts/
|
||||
directory by copying scripts/config.py-template to scripts/config.py and
|
||||
editing it to match your setup. The wrapper will set the necessary environment
|
||||
variables and paths for the daemon to run correctly.
|
||||
|
||||
cp support/init-maposmaticd-template /etc/init.d/maposmaticd
|
||||
vi /etc/init.d/maposmaticd
|
||||
Then, you can run the rendering daemon through the wrapper with:
|
||||
|
||||
notice the --chuid option to start-stop-daemon, adapt it to your
|
||||
own settings and once done:
|
||||
.../scripts/wrapper.py scripts/daemon.py &
|
||||
|
||||
sudo chmod 755 /etc/init.d/maposmaticd
|
||||
sudo update-rc.d maposmaticd defaults
|
||||
You'll find in support/init-maposmaticd-template an init script template that
|
||||
you can tweak and install on your machine to start the MapOSMatic rendering
|
||||
daemon automatically at boot time.
|
||||
|
||||
Web server configuration
|
||||
------------------------
|
||||
|
|
|
@ -5,26 +5,31 @@
|
|||
# Required-Stop: $local_fs $remote_fs
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: S 0 1 6
|
||||
# Short-Description: maposmatic job scheduler
|
||||
# Description: This script starts the mapOSMaticd job scheduler and
|
||||
# Short-Description: PROD maposmatic job scheduler
|
||||
# Description: This script starts the MapOSMatic PROD job scheduler and
|
||||
# rendering daemon
|
||||
### END INIT INFO
|
||||
|
||||
# Author: mapOSMatic authors <contact@maposmatic.org>
|
||||
# Author: MapOSMatic developers <contact@maposmatic.org>
|
||||
|
||||
# Do NOT "set -e"
|
||||
|
||||
# PATH should only include /usr/* if it runs after the mountnfs.sh script
|
||||
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||
DESC="Starts the mapOSMaticd job scheduler and rendering daemon"
|
||||
DESC="MapOSMatic rendering daemon"
|
||||
NAME=maposmaticd
|
||||
DAEMON=/path/to/maposmatic/scripts/$NAME.sh
|
||||
DAEMON_ARGS=""
|
||||
|
||||
BASE_PATH="/path/to/your/maposmatic/"
|
||||
WRAPPER="scripts/wrapper.py"
|
||||
DAEMON="scripts/daemon.py"
|
||||
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
SCRIPTNAME=/etc/init.d/$NAME
|
||||
VERBOSE="yes"
|
||||
|
||||
# Exit if the package is not installed
|
||||
[ -x "$DAEMON" ] || exit 0
|
||||
[ -x "${BASE_PATH}/$WRAPPER" ] || exit 0
|
||||
[ -x "${BASE_PATH}/$DAEMON" ] || exit 0
|
||||
|
||||
# Read configuration variable file if it is present
|
||||
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
||||
|
@ -41,18 +46,21 @@ SCRIPTNAME=/etc/init.d/$NAME
|
|||
#
|
||||
do_start()
|
||||
{
|
||||
# Return
|
||||
# 0 if daemon has been started
|
||||
# 1 if daemon was already running
|
||||
# 2 if daemon could not be started
|
||||
start-stop-daemon --start --quiet --background --pidfile $PIDFILE --make-pidfile --chuid maposmatic:maposmatic --exec $DAEMON --test > /dev/null \
|
||||
|| return 1
|
||||
start-stop-daemon --start --quiet --background --pidfile $PIDFILE --make-pidfile --chuid maposmatic:maposmatic --exec $DAEMON -- \
|
||||
$DAEMON_ARGS \
|
||||
|| return 2
|
||||
# Add code here, if necessary, that waits for the process to be ready
|
||||
# to handle requests from services started subsequently which depend
|
||||
# on this one. As a last resort, sleep for some time.
|
||||
# Returns
|
||||
# 0 if daemon has been started
|
||||
# 1 if daemon was already running
|
||||
# 2 if daemon could not be started
|
||||
start-stop-daemon --start --quiet --background \
|
||||
--pidfile $PIDFILE --make-pidfile \
|
||||
--chuid maposmatic:maposmatic \
|
||||
--startas ${BASE_PATH}/$WRAPPER --test \
|
||||
> /dev/null || return 1
|
||||
|
||||
start-stop-daemon --start --quiet --background \
|
||||
--pidfile $PIDFILE --make-pidfile \
|
||||
--chuid maposmatic:maposmatic \
|
||||
--startas ${BASE_PATH}/$WRAPPER -- $DAEMON \
|
||||
|| return 2
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -60,94 +68,70 @@ do_start()
|
|||
#
|
||||
do_stop()
|
||||
{
|
||||
# Return
|
||||
# 0 if daemon has been stopped
|
||||
# 1 if daemon was already stopped
|
||||
# 2 if daemon could not be stopped
|
||||
# other if a failure occurred
|
||||
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
|
||||
RETVAL="$?"
|
||||
[ "$RETVAL" = 2 ] && return 2
|
||||
# Wait for children to finish too if this is a daemon that forks
|
||||
# and if the daemon is only ever run from this initscript.
|
||||
# If the above conditions are not satisfied then add some other code
|
||||
# that waits for the process to drop all resources that could be
|
||||
# needed by services started subsequently. A last resort is to
|
||||
# sleep for some time.
|
||||
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
|
||||
[ "$?" = 2 ] && return 2
|
||||
# Many daemons don't delete their pidfiles when they exit.
|
||||
rm -f $PIDFILE
|
||||
return "$RETVAL"
|
||||
}
|
||||
# Returns
|
||||
# 0 if daemon has been stopped
|
||||
# 1 if daemon was already stopped
|
||||
# 2 if daemon could not be stopped
|
||||
# other if a failure occurred
|
||||
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
|
||||
RETVAL="$?"
|
||||
[ "$RETVAL" = 2 ] && return 2
|
||||
|
||||
#
|
||||
# Function that sends a SIGHUP to the daemon/service
|
||||
#
|
||||
do_reload() {
|
||||
#
|
||||
# If the daemon can reload its configuration without
|
||||
# restarting (for example, when it is sent a SIGHUP),
|
||||
# then implement that here.
|
||||
#
|
||||
#start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
|
||||
echo "$SCRIPTNAME: reload not supported" >&2
|
||||
return 0
|
||||
# Wait for children to finish too if this is a daemon that forks
|
||||
# and if the daemon is only ever run from this initscript.
|
||||
# If the above conditions are not satisfied then add some other code
|
||||
# that waits for the process to drop all resources that could be
|
||||
# needed by services started subsequently. A last resort is to
|
||||
# sleep for some time.
|
||||
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec ${BASE_PATH}/$DAEMON
|
||||
[ "$?" = 2 ] && return 2
|
||||
# Many daemons don't delete their pidfiles when they exit.
|
||||
rm -f $PIDFILE
|
||||
return "$RETVAL"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
|
||||
do_start
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
|
||||
do_start
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
stop)
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
#reload|force-reload)
|
||||
#
|
||||
# If do_reload() is not implemented then leave this commented out
|
||||
# and leave 'force-reload' as an alias for 'restart'.
|
||||
#
|
||||
#log_daemon_msg "Reloading $DESC" "$NAME"
|
||||
#do_reload
|
||||
#log_end_msg $?
|
||||
#;;
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
restart|force-reload)
|
||||
#
|
||||
# If the "reload" option is implemented then remove the
|
||||
# 'force-reload' alias
|
||||
#
|
||||
log_daemon_msg "Restarting $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_end_msg 1 ;; # Old process is still running
|
||||
*) log_end_msg 1 ;; # Failed to start
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
#
|
||||
# If the "reload" option is implemented then remove the
|
||||
# 'force-reload' alias
|
||||
#
|
||||
log_daemon_msg "Restarting $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_end_msg 1 ;; # Old process is still running
|
||||
*) log_end_msg 1 ;; # Failed to start
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
|
||||
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
|
||||
exit 3
|
||||
;;
|
||||
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
|
||||
:
|
||||
|
|
Ładowanie…
Reference in New Issue