[daisy] [JIRA] Commented: (DSY-431) Daisy wiki wrapper script should check/wait 'smart' for the repository to run!

Paul Focke (JIRA) issues at cocoondev.org
Tue Mar 27 06:18:20 CDT 2007


    [ http://issues.cocoondev.org//browse/DSY-431?page=comments#action_13095 ] 

Paul Focke commented on DSY-431:
--------------------------------

I was browsing through the tanuki wrapper documentation and I came across this:
http://wrapper.tanukisoftware.org/doc/english/integrate-listener.html

It gave me the idea of creating a startup class for the repository (and/or wiki). Through the use of such a startup class (WrapperListener) the wrapper service could wait until the repository was actually up and running before continuing to launch other services.

> Daisy wiki wrapper script should check/wait 'smart' for the repository to run!
> ------------------------------------------------------------------------------
>
>          Key: DSY-431
>          URL: http://issues.cocoondev.org//browse/DSY-431
>      Project: Daisy
>         Type: Improvement
>     Reporter: Marc Portier
>     Priority: Minor

>
> Now that we have the wrapper scripts packaged in the distro I can assume people are going to be hooking them up easily as init.d start-stop scripts on their linux distro (or as services on windows)
> However, on linux I've seen this cause the wiki to start up before the repo is actually running and thus make the wiki initialize badly (typical symptom is a cocoon error page talking about an initialization error)
> In our experimental debian package we already have scripts with a trick for this (see below)
> Before hacking this in as a patch for the shell scripts, I'ld like to learn if Windows services have similar issues, and if we could find a common solution?
> wait_for_server_start () {
>   port=$1
>   counter=0
>   serverstatus=`netstat -l  | grep -e "^tcp.*:${port}"`
>   while [[ -z "${serverstatus}" &&  ${counter} -lt 12 ]]; do
>     sleep 2s
>     serverstatus=`netstat -l  | grep -e "^tcp.*:${port}"`
>     let counter=counter+1
>   done
>   if [ -z "${serverstatus}" ]; then
>     echo Not listening to port $port .  Exiting ...
>     exit 1
>   else
>     echo Listening to port $port
>   fi
> }
> + call this wait...() function from the start() 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.cocoondev.org//secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



More information about the daisy mailing list