]> git.openstreetmap.org Git - nominatim.git/blobdiff - utils/blocks.php
prune list of blocked items if too large, different costs for different page types
[nominatim.git] / utils / blocks.php
index 4d32311547d143ad7d9e38e4a84ef080c65e878c..6dee2845b06bfeb315da6af32b08c07ae5f7f4e1 100755 (executable)
@@ -11,6 +11,7 @@
                array('verbose', 'v', 0, 1, 0, 0, 'bool', 'Verbose output'),
                array('list', 'l', 0, 1, 0, 0, 'bool', 'List recent blocks'),
                array('delete', 'd', 0, 1, 0, 0, 'bool', 'Clear recent blocks list'),
+               array('flush', '', 0, 1, 0, 0, 'bool', 'Flush all blocks / stats'),
        );
        getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
 
 
        if ($aResult['list'])
        {
+               $iCurrentSleeping = $m->get('sleepCounter');
+               echo "\n Sleeping blocks count: $iCurrentSleeping\n";
+
                $aBlocks = getBucketBlocks();
                echo "\n";
-               printf(" %-40s | %12s | %7s | %13s | %16s | %31s\n", "Key", "Total Blocks", "Current", "Still Blocked", "Last Req Blocked", "Last Block Time");
-               printf(" %'--40s | %'-12s | %'-7s | %'-13s | %'-16s | %'-31s\n", "", "", "", "", "", "");
+               printf(" %-40s | %12s | %7s | %13s | %31s\n", "Key", "Total Blocks", "Current", "Still Blocked", "Last Block Time");
+               printf(" %'--40s-|-%'-12s-|-%'-7s-|-%'-13s-|-%'-31s\n", "", "", "", "", "");
                foreach($aBlocks as $sKey => $aDetails)
                {
-                       printf(" %-40s | %12s | %7s | %13s | %16s | %31s\n", $sKey, $aDetails['totalBlocks'], (int)$aDetails['currentBucketSize'], $aDetails['lastRequestBlocked']?'Y':'N', $aDetails['currentlyBlocked']?'Y':'N', date("r", $aDetails['lastBlockTimestamp']));
+                       printf(" %-40s | %12s | %7s | %13s | %31s\n", $sKey, $aDetails['totalBlocks'], 
+                               (int)$aDetails['currentBucketSize'], $aDetails['currentlyBlocked']?'Y':'N', 
+                               date("r", $aDetails['lastBlockTimestamp']));
                }
                echo "\n";
        }
 
        if ($aResult['delete'])
        {
+               $m->set('sleepCounter', 0);
                clearBucketBlocks();
        }
+
+       if ($aResult['flush'])
+       {
+               $m->flush();
+       }