X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=thumb.php;h=c611dc3ca75aa3d127d7c7293ba3ecfe77a842d4;hb=3993b6a4de4459eaacfdaef52bdec272ceebb980;hp=d7bf45338241431d3324fcb90102453dd8db240d;hpb=67ad578c427345edab90f86579167f8fd0cfb7ae;p=lhc%2Fweb%2Fwiklou.git diff --git a/thumb.php b/thumb.php index d7bf453382..c611dc3ca7 100644 --- a/thumb.php +++ b/thumb.php @@ -387,9 +387,17 @@ function wfGenerateThumbnail( File $file, array $params, $thumbName, $thumbPath $thumb = false; $errorHtml = false; + // guard thumbnail rendering with PoolCounter to avoid stampedes + // expensive files use a separate PoolCounter config so it is possible to set up a global limit on them + if ( $file->isExpensiveToThumbnail() ) { + $poolCounterType = 'FileRenderExpensive'; + } else { + $poolCounterType = 'FileRender'; + } + // Thumbnail isn't already there, so create the new thumbnail... try { - $work = new PoolCounterWorkViaCallback( 'FileRender', sha1( $file->getName() ), + $work = new PoolCounterWorkViaCallback( $poolCounterType, sha1( $file->getName() ), array( 'doWork' => function() use ( $file, $params ) { return $file->transform( $params, File::RENDER_NOW );