WebPagetest Forums

Full Version: Number of Jobs in queue
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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
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
Reference URL's