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

Andreas Deininger (JIRA) issues at cocoondev.org
Sat Apr 28 15:55:20 CDT 2007


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

Andreas Deininger updated DSY-431:
----------------------------------

    Attachment: check_repository.diff

I liked the proposal of Paul, so I implemented it.
The service wrapper now checks whether the repository is up prior to starting the wiki service. Server address and ports, number of connection tries, etc. can be configured via some new configuration variables added to configuration file of the daisy wiki service.

> 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
>  Attachments: check_repository.diff
>
> 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