[MediaWiki-commits] [Gerrit] Convert getMagickVersion() to using APC - change (mediawiki/core)

2015-10-26 Thread Aaron Schulz (Code Review)
Aaron Schulz has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/248820

Change subject: Convert getMagickVersion() to using APC
..

Convert getMagickVersion() to using APC

Shelling out on my slow vagrant VM takes about ~3-4ms
so it's probably not worth a  fallback.

Change-Id: Ifd5758264cc15f1ae07972e839a243f5f891503e
---
M includes/media/TransformationalImageHandler.php
1 file changed, 20 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/20/248820/1

diff --git a/includes/media/TransformationalImageHandler.php 
b/includes/media/TransformationalImageHandler.php
index 15753a9..3558149 100644
--- a/includes/media/TransformationalImageHandler.php
+++ b/includes/media/TransformationalImageHandler.php
@@ -505,30 +505,31 @@
 * Retrieve the version of the installed ImageMagick
 * You can use PHPs version_compare() to use this value
 * Value is cached for one hour.
-* @return string Representing the IM version.
+* @return string|bool Representing the IM version; false on error
 */
protected function getMagickVersion() {
-   global $wgMemc;
+   return ObjectCache::newAccelerator( CACHE_NONE 
)->getWithSetCallback(
+   "imagemagick-version",
+   3600,
+   function () {
+   global $wgImageMagickConvertCommand;
 
-   $cache = $wgMemc->get( "imagemagick-version" );
-   if ( !$cache ) {
-   global $wgImageMagickConvertCommand;
-   $cmd = wfEscapeShellArg( $wgImageMagickConvertCommand ) 
. ' -version';
-   wfDebug( __METHOD__ . ": Running convert -version\n" );
-   $retval = '';
-   $return = wfShellExec( $cmd, $retval );
-   $x = preg_match( '/Version: ImageMagick 
([0-9]*\.[0-9]*\.[0-9]*)/', $return, $matches );
-   if ( $x != 1 ) {
-   wfDebug( __METHOD__ . ": ImageMagick version 
check failed\n" );
+   $cmd = wfEscapeShellArg( 
$wgImageMagickConvertCommand ) . ' -version';
+   wfDebug( __METHOD__ . ": Running convert 
-version\n" );
+   $retval = '';
+   $return = wfShellExec( $cmd, $retval );
+   $x = preg_match(
+   '/Version: ImageMagick 
([0-9]*\.[0-9]*\.[0-9]*)/', $return, $matches
+   );
+   if ( $x != 1 ) {
+   wfDebug( __METHOD__ . ": ImageMagick 
version check failed\n" );
 
-   return null;
+   return false;
+   }
+
+   return $matches[1];
}
-   $wgMemc->set( "imagemagick-version", $matches[1], 3600 
);
-
-   return $matches[1];
-   }
-
-   return $cache;
+   );
}
 
/**

-- 
To view, visit https://gerrit.wikimedia.org/r/248820
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifd5758264cc15f1ae07972e839a243f5f891503e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Convert getMagickVersion() to using APC - change (mediawiki/core)

2015-10-26 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Convert getMagickVersion() to using APC
..


Convert getMagickVersion() to using APC

Shelling out on my slow vagrant VM takes about ~3-4ms
so it's probably not worth a  fallback.

Change-Id: Ifd5758264cc15f1ae07972e839a243f5f891503e
---
M includes/media/TransformationalImageHandler.php
1 file changed, 20 insertions(+), 19 deletions(-)

Approvals:
  Gilles: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/media/TransformationalImageHandler.php 
b/includes/media/TransformationalImageHandler.php
index 15753a9..3558149 100644
--- a/includes/media/TransformationalImageHandler.php
+++ b/includes/media/TransformationalImageHandler.php
@@ -505,30 +505,31 @@
 * Retrieve the version of the installed ImageMagick
 * You can use PHPs version_compare() to use this value
 * Value is cached for one hour.
-* @return string Representing the IM version.
+* @return string|bool Representing the IM version; false on error
 */
protected function getMagickVersion() {
-   global $wgMemc;
+   return ObjectCache::newAccelerator( CACHE_NONE 
)->getWithSetCallback(
+   "imagemagick-version",
+   3600,
+   function () {
+   global $wgImageMagickConvertCommand;
 
-   $cache = $wgMemc->get( "imagemagick-version" );
-   if ( !$cache ) {
-   global $wgImageMagickConvertCommand;
-   $cmd = wfEscapeShellArg( $wgImageMagickConvertCommand ) 
. ' -version';
-   wfDebug( __METHOD__ . ": Running convert -version\n" );
-   $retval = '';
-   $return = wfShellExec( $cmd, $retval );
-   $x = preg_match( '/Version: ImageMagick 
([0-9]*\.[0-9]*\.[0-9]*)/', $return, $matches );
-   if ( $x != 1 ) {
-   wfDebug( __METHOD__ . ": ImageMagick version 
check failed\n" );
+   $cmd = wfEscapeShellArg( 
$wgImageMagickConvertCommand ) . ' -version';
+   wfDebug( __METHOD__ . ": Running convert 
-version\n" );
+   $retval = '';
+   $return = wfShellExec( $cmd, $retval );
+   $x = preg_match(
+   '/Version: ImageMagick 
([0-9]*\.[0-9]*\.[0-9]*)/', $return, $matches
+   );
+   if ( $x != 1 ) {
+   wfDebug( __METHOD__ . ": ImageMagick 
version check failed\n" );
 
-   return null;
+   return false;
+   }
+
+   return $matches[1];
}
-   $wgMemc->set( "imagemagick-version", $matches[1], 3600 
);
-
-   return $matches[1];
-   }
-
-   return $cache;
+   );
}
 
/**

-- 
To view, visit https://gerrit.wikimedia.org/r/248820
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ifd5758264cc15f1ae07972e839a243f5f891503e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz 
Gerrit-Reviewer: Gilles 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits