WebPagetest Forums
Number of Jobs in queue - Printable Version

+- WebPagetest Forums (https://www.webpagetest.org/forums)
+-- Forum: WebPagetest (/forumdisplay.php?fid=7)
+--- Forum: Private Instances (/forumdisplay.php?fid=12)
+--- Thread: Number of Jobs in queue (/showthread.php?tid=11215)



Number of Jobs in queue - krytie - 06-12-2012 12:01 PM

Hi
I looked around for a script that would return the number of jobs on a queue for each location, but I couldn't find one.

So I just wrote up this quick script that others may find useful.

PHP Code:
<?php
/**
 Returns the number of jobs in the queue for each location
*/
chdir('..');
include 
'common.inc';

$locations parse_ini_file('./settings/locations.ini'true);
BuildLocations($locations);

header ('Content-type: text/xml');
echo 
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo 
"<response>\n";
echo 
"<statusCode>200</statusCode>\n";
echo 
"<statusText>Ok</statusText>\n";
echo 
"<data>\n";
$processed = array();
foreach (
$locations as $key => $loc) {
    
//no local directory? Then there's nothing to query
    
if (!isset($loc['localDir'])) continue;
    if ((
$pos =  strpos($key':')) !== false) {
        
$key substr($key$pos);
    }
    if (isset(
$processed[$key])) continue;
    
    
$processed[$key] = true;
    
    
$jobs count(scandir($loc['localDir'])) - 2//subtract directories from final count
    
echo "<location>\n";
        echo 
"<id>$key</id>";
        echo 
"<jobs>$jobs</jobs>";
    echo 
"</location>\n";
}
echo 
"</data>\n";
echo 
"</response>\n"

It needs to be placed in the work directory


RE: Number of Jobs in queue - pmeenan - 06-12-2012 12:11 PM

FYI, depending on what you want to do, you might be better off using the interfaces that produce XML reports:

/getLocations.php - Returns a list of all of the locations and number of tests in each (as well as counts at the different priority levels)

/getTesters.php - Returns information about the test machines at each of the locations

They both also have XSLT transforms so the output is readable in a browser (I spot check them on the public instance all the time):

http://www.webpagetest.org/getLocations.php

http://www.webpagetest.org/getTesters.php