To start with, I'd like to Thank Albert for his stellar support -- Thank you, Albert!
It was a server issue, and these are the details:
- The CSE HTML Validator Batch Wizard starts 10 concurrent HTTP requests.
- Server assigns the same PHP session ID to all these 10 requests (10 user agents).
- Each one of these 10 user agents attempts to reference (open, read, write, close) the same session object.
- PHP maintains session locks.
- 1 or more of these 10 user agents fall victim to such session lock after a certain timeout.
- PHP server adds the following two lines to the top of each page, that fails to acquire a PHP session:
Code: Select all
<b>Warning</b>: session_start(): Unable to clear session lock record in <b>/my_path/my_php_script.php</b> on line <b>nnn</b><br />
Thus, the failed pages do not start with
<!DOCTYPE html> line. I was able to identify the problem, after Albert had modified the Batch Wizard to show a line previous to the
<!DOCTYPE html> string.
I've changed the
Max concurrent HTTP requests to 1. See
CSE HTML Validator Ent Batch Wizard Options ->
Limits
The Batch Wizard runs fine, but processes only 1 URL at a time.
Fortunately for me, Albert had suggested (and explained how) to split my batch wizard into several jobs which run in parallel.
Here's my Windows command script:
Code: Select all
"C:\Program Files (x86)\HTMLValidator170\cmdlineprocessor.exe" -f "C:\data\cse\cmdstack-split.txt"
and here's the cmdstack-split.txt file:
Code: Select all
-msgwindow CSEconvert -b "C:\data\cse\my-website-convert.lst"
-msgwindow CSEConDen -b "C:\data\cse\my-website-convert-density.lst"
-msgwindow CSEfood -b "C:\data\cse\my-website-calculate.lst"
-msgwindow CSEonly -b "C:\data\cse\my-website-only.lst"
-msgwindow CSEconvert -q
-msgwindow CSEConDen -q
-msgwindow CSEfood -q
-msgwindow CSEonly -q
Each list in the above file references a part of my website.
As a result, I've four jobs scanning my website in parallel without session locks and timeouts.
I hope, my lengthy reply might help someone in the future.
Thank you!