Old:Bugs 3.5-Apollo: Apanel not displayed: Difference between revisions
(New page: {{Uc nav 3.5 bugs}} '''''Server_Start.bat''''' == Bug fix Apanel initial display == File: '''Server_Start.bat'''<br> Location: '''*\Uniform Server''' '''Problem:''' In certain situations...) |
m (Protected "Bugs 3.5-Apollo: Apanel not displayed" [edit=sysop:move=sysop]) |
(No difference)
|
Revision as of 19:15, 16 October 2008
Uniform Server 3.5-Apollo known bugs or issues. |
Server_Start.bat
Bug fix Apanel initial display
File: Server_Start.bat
Location: *\Uniform Server
Problem: In certain situations Apanel is requested before Apache is running resulting in browser error message "Failed to connect"
Solution: Before requesting the Apanel page wait for Apache to start using a delay loop .
In the past I have proposed using ping to introduce a delay however this fails if the IP address used is in use.
An elegant solution is now possible using the delay taken from the mini-servers series. A small c-program fully documented including source code hence officially open source.
Implementation
Copy file unidelay.exe to folder udrive\home\admin\program
Edit Server_Start.bat add the following block of code just above line start %apanel%\redirect.html
rem ### Before starting Apanel wait for Apache to start rem ### Safety loop counter cnt give up after 60 seconds echo starting Apache ............... set /a cnt=0 :next set /a cnt+=1 if "%cnt%"=="60" goto :TIMEDOUT \home\admin\program\unidelay.exe \home\admin\program\pskill.exe apache.exe > nul IF ERRORLEVEL 1 goto :next
Add the following block of code just above line :HINT
:TIMEDOUT rem ### Apache failed to start. Kill virtual drive. Inform user subst %Disk%: /D CLS echo Unable to start Apache Server goto :PAUSE
Script first resets the safety loop counter; this is incremented each time around the loop. On reaching a count of 60 (approx 60 seconds) it is assumed Apache is never going to start, script transfers control to the TIMEDOUT section killing virtual drive created and informs user. The Apache process is checked every second (unidelay.exe with no parameters defaults to 1 second) if errorlevel returned is 1 loop is repeated (:next) a zero value confirms Apache is running script exits loop and runs next line of code (Starts Apanel).
Download
Download program unidelay.exe note this is included in the combined bug fix download.
MD5 = f9183635b0b23b212ab20e679d5c348e
Reference
Additional information or background can be found on the following pages:
Mini Servers: Start Stop design notes
Proposed solution
See above.
Ric |