]> git.openstreetmap.org Git - nominatim.git/blobdiff - utils/blocks.php
Merge pull request #1186 from mtmail/getAddressDetails-fix
[nominatim.git] / utils / blocks.php
index 4d32311547d143ad7d9e38e4a84ef080c65e878c..761ab9e4f004c11097093da1b16891dba8f1b6d5 100755 (executable)
@@ -1,40 +1,55 @@
-#!/usr/bin/php -Cq
+#!@PHP_BIN@ -Cq
 <?php
 
-        require_once(dirname(dirname(__FILE__)).'/lib/init-cmd.php');
-        ini_set('memory_limit', '800M');
+require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
+require_once(CONST_BasePath.'/lib/init-cmd.php');
+ini_set('memory_limit', '800M');
 
-       $aCMDOptions = array(
-               "Manage service blocks / restrictions",
-               array('help', 'h', 0, 1, 0, 0, false, 'Show Help'),
-               array('quiet', 'q', 0, 1, 0, 0, 'bool', 'Quiet output'),
-               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'),
-       );
-       getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
+$aCMDOptions
+ = array(
+    'Manage service blocks / restrictions',
+    array('help', 'h', 0, 1, 0, 0, false, 'Show Help'),
+    array('quiet', 'q', 0, 1, 0, 0, 'bool', 'Quiet output'),
+    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);
 
-       $m = getBucketMemcache();
-        if (!$m)
-       {
-               echo "ERROR: Bucket memcache is not configured\n";
-               exit;
-       }
+$m = getBucketMemcache();
+if (!$m) {
+    echo "ERROR: Bucket memcache is not configured\n";
+    exit;
+}
 
-       if ($aResult['list'])
-       {
-               $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", "", "", "", "", "", "");
-               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']));
-               }
-               echo "\n";
-       }
+if ($aResult['list']) {
+    $iCurrentSleeping = $m->get('sleepCounter');
+    echo "\n Sleeping blocks count: $iCurrentSleeping\n";
 
-       if ($aResult['delete'])
-       {
-               clearBucketBlocks();
-       }
+    $aBlocks = getBucketBlocks();
+    echo "\n";
+    printf(" %-40s | %12s | %7s | %13s | %31s | %8s\n", 'Key', 'Total Blocks', 'Current', 'Still Blocked', 'Last Block Time', 'Sleeping');
+    printf(" %'--40s-|-%'-12s-|-%'-7s-|-%'-13s-|-%'-31s-|-%'-8s\n", '', '', '', '', '', '');
+    foreach ($aBlocks as $sKey => $aDetails) {
+        printf(
+            " %-40s | %12s | %7s | %13s | %31s | %8s\n",
+            $sKey,
+            $aDetails['totalBlocks'],
+            (int)$aDetails['currentBucketSize'],
+            $aDetails['currentlyBlocked']?'Y':'N',
+            date('r', $aDetails['lastBlockTimestamp']),
+            $aDetails['isSleeping']?'Y':'N'
+        );
+    }
+    echo "\n";
+}
+
+if ($aResult['delete']) {
+    $m->set('sleepCounter', 0);
+    clearBucketBlocks();
+}
+
+if ($aResult['flush']) {
+    $m->flush();
+}