From 952a88eec402cfc7bf3631aeeb952ba31fca2102 Mon Sep 17 00:00:00 2001 From: Antoine Musso Date: Wed, 16 Jan 2013 15:27:21 +0100 Subject: [PATCH] mcc can now set memcached debug mode and has help This patch let us set the debug mode on the memcached connection. Simply pass --debug as an argument. I have also added basic usage documentation with --help, listing the interacting commands as well. Example output: $ php mcc.php --help Usage: mcc.php [--debug] mcc.php --help MemCached Command (mcc) is an interactive command tool that let you interact with the MediaWiki memcached cache. Options: --debug Set debug mode on the memcached connection. --help This help screen. Interactive commands: get : grabs something getsock: lists sockets set : changes something delete : deletes something history: show command line history server : show current memcached server dumpmcc: shows the whole thing exit : exit mcc quit : exit mcc help : help about a command $ Change-Id: Ib4603eecbd6a8e6f3ba8bf3cf350c0e3df652d3b --- maintenance/mcc.php | 49 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/maintenance/mcc.php b/maintenance/mcc.php index 6090a934b8..4e0f291b73 100644 --- a/maintenance/mcc.php +++ b/maintenance/mcc.php @@ -25,7 +25,17 @@ /** */ require_once( __DIR__ . '/commandLine.inc' ); -$mcc = new MWMemcached( array( 'persistent' => true ) ); +$debug = in_array( '--debug', $argv ); +$help = in_array( '--help', $argv ); + +if( $help ) { + mccShowUsage(); + exit( 0 ); +} +$mcc = new MWMemcached( array( + 'persistent' => true, + 'debug' => $debug, +) ); if ( $wgMainCacheType === CACHE_MEMCACHED ) { $mcc->set_servers( $wgMemCachedServers ); @@ -36,7 +46,32 @@ if ( $wgMainCacheType === CACHE_MEMCACHED ) { exit( 1 ); } -function mccShowHelp( $command ) { +/** + * Show this command line tool usage. + */ +function mccShowUsage() { + echo << 'grabs something', 'getsock' => 'lists sockets', @@ -55,13 +90,15 @@ function mccShowHelp( $command ) { if ( $command === 'fullhelp' ) { $max_cmd_len = max( array_map( 'strlen', array_keys( $commandList ) ) ); foreach ( $commandList as $cmd => $desc ) { - printf( "%-{$max_cmd_len}s: %s\n", $cmd, $desc ); + $output .= sprintf( "%-{$max_cmd_len}s: %s\n", $cmd, $desc ); } } elseif ( isset( $commandList[$command] ) ) { - print "$command: $commandList[$command]\n"; + $output .= "$command: $commandList[$command]\n"; } else { - print "$command: command does not exist or no help for it\n"; + $output .= "$command: command does not exist or no help for it\n"; } + + return $output; } do { @@ -79,7 +116,7 @@ do { switch ( $command ) { case 'help': // show an help message - mccShowHelp( array_shift( $args ) ); + print mccGetHelp( array_shift( $args ) ); break; case 'get': -- 2.20.1