[MediaWiki-commits] [Gerrit] Convert getMagickVersion() to using APC - change (mediawiki/core)
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)
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 SchulzGerrit-Reviewer: Gilles Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits