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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits