2012-12-08 21:38:10 +04:00
|
|
|
#!/usr/bin/php -Cq
|
|
|
|
<?php
|
|
|
|
|
2016-03-09 02:07:46 +03:00
|
|
|
require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
|
|
|
|
require_once(CONST_BasePath.'/lib/init-cmd.php');
|
|
|
|
ini_set('memory_limit', '800M');
|
2012-12-08 21:38:10 +04:00
|
|
|
|
|
|
|
$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'),
|
2012-12-09 01:39:24 +04:00
|
|
|
array('flush', '', 0, 1, 0, 0, 'bool', 'Flush all blocks / stats'),
|
2012-12-08 21:38:10 +04:00
|
|
|
);
|
|
|
|
getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
|
|
|
|
|
|
|
|
$m = getBucketMemcache();
|
|
|
|
if (!$m)
|
|
|
|
{
|
|
|
|
echo "ERROR: Bucket memcache is not configured\n";
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($aResult['list'])
|
|
|
|
{
|
2012-12-08 22:55:17 +04:00
|
|
|
$iCurrentSleeping = $m->get('sleepCounter');
|
|
|
|
echo "\n Sleeping blocks count: $iCurrentSleeping\n";
|
|
|
|
|
2012-12-08 21:38:10 +04:00
|
|
|
$aBlocks = getBucketBlocks();
|
|
|
|
echo "\n";
|
2012-12-10 05:36:33 +04:00
|
|
|
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", "", "", "", "", "", "");
|
2012-12-08 21:38:10 +04:00
|
|
|
foreach($aBlocks as $sKey => $aDetails)
|
|
|
|
{
|
2012-12-10 05:36:33 +04:00
|
|
|
printf(" %-40s | %12s | %7s | %13s | %31s | %8s\n", $sKey, $aDetails['totalBlocks'],
|
2012-12-09 01:39:24 +04:00
|
|
|
(int)$aDetails['currentBucketSize'], $aDetails['currentlyBlocked']?'Y':'N',
|
2012-12-10 05:36:33 +04:00
|
|
|
date("r", $aDetails['lastBlockTimestamp']), $aDetails['isSleeping']?'Y':'N');
|
2012-12-08 21:38:10 +04:00
|
|
|
}
|
|
|
|
echo "\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($aResult['delete'])
|
|
|
|
{
|
2012-12-08 22:55:17 +04:00
|
|
|
$m->set('sleepCounter', 0);
|
2012-12-08 21:38:10 +04:00
|
|
|
clearBucketBlocks();
|
|
|
|
}
|
2012-12-09 01:39:24 +04:00
|
|
|
|
|
|
|
if ($aResult['flush'])
|
|
|
|
{
|
|
|
|
$m->flush();
|
|
|
|
}
|