Bug 16749: Adjustments for koha-plack

[1] Use run_safe_xmlstarlet for plack workers and requests
[2] Simplify adjust_paths. The lazy export statement is actually enough to
    replace adjust_paths by one direct call to adjust_paths_dev_install.

Test plan:
[1] Copy koha-functions.sh and koha-plack:
    cp [YOUR_PATH]/debian/scripts/koha-functions.sh /usr/share/koha/bin/
    cp [YOUR_PATH]/debian/scripts/koha-plack /usr/sbin/
    where YOUR_PATH might well be /home/vagrant/kohaclone.
[2] Make sure that you have dev_install in koha-conf.
    Stop and start koha-plack. Verify with ps aux|grep plack.
[3] Rename dev_install to nodev_install (in start and end tag).
    Now stop/start koha-plack. Verify with ps aux|grep plack.
[4] Change plack_requests to 51 in your koha-conf.
    Restart Plack and check that you see 51 in ps aux|grep plack.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested on Jessie (Debian VM and Kohadevbox)

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Tested in a package installation of master+16749

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
Marcel de Rooy 2017-02-10 10:33:57 +01:00 committed by Kyle M Hall
parent 4ecc98c37f
commit 35fad66881
1 changed files with 7 additions and 35 deletions

View File

@ -74,16 +74,10 @@ start_plack()
_check_and_fix_perms $instancename
PLACK_MAX_REQUESTS="50"
PLACK_WORKERS="2"
if [[ $(get_plack_max_requests $instancename) ]]; then
PLACK_MAX_REQUESTS="$(get_plack_max_requests $instancename)"
fi
if [[ $(get_plack_workers $instancename) ]]; then
PLACK_WORKERS="$(get_plack_workers $instancename)"
fi
PLACK_MAX_REQUESTS=$(run_safe_xmlstarlet $instancename plack_max_requests)
[ -z $PLACK_MAX_REQUESTS ] && PLACK_MAX_REQUESTS="50"
PLACK_WORKERS=$(run_safe_xmlstarlet $instancename plack_workers)
[ -z $PLACK_WORKERS ] && PLACK_WORKERS="2"
STARMANOPTS="-M FindBin --max-requests ${PLACK_MAX_REQUESTS} --workers ${PLACK_WORKERS} \
--user=${instancename}-koha --group ${instancename}-koha \
@ -242,30 +236,6 @@ set_action()
fi
}
adjust_paths()
{
# Optionally use alternative paths for a dev install
adjust_paths_dev_install $1
# PERL5LIB has been read from etc/default, add lib/installer
# export some vars (for plack.psgi)
export KOHA_HOME
if [ "$DEV_INSTALL" = "" ]; then
export PERL5LIB=$PERL5LIB:$KOHA_HOME/lib/installer
else
export DEV_INSTALL
export PERL5LIB=$PERL5LIB:$KOHA_HOME/installer
fi
}
get_plack_max_requests() {
xmlstarlet sel -t -v 'yazgfs/config/plack_max_requests' "/etc/koha/sites/$1/koha-conf.xml"
}
get_plack_workers() {
xmlstarlet sel -t -v 'yazgfs/config/plack_workers' "/etc/koha/sites/$1/koha-conf.xml"
}
STARMAN=$(which starman)
op=""
quiet="no"
@ -311,7 +281,9 @@ if [ $# -gt 0 ]; then
if is_instance $name; then
adjust_paths $name
adjust_paths_dev_install $name
export DEV_INSTALL KOHA_HOME PERL5LIB=$PERL5LIB:$KOHA_HOME/installer:$KOHA_HOME/lib/installer
case $op in
"start")
start_plack $name