For non-vectorial content, requesting a thumbnail larger than
the original results in a 500. Prerendering in its current form
introduces an increase in 500s that dilutes the real problematic
500s, making troubleshooting harder than it needs to be.
Change-Id: I9418dee7653ad7954c3788ecdd350fc8772edd32
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/301
$sizes = $wgUploadThumbnailRenderMap;
rsort( $sizes );
+ $file = $this->getLocalFile();
+
foreach ( $sizes as $size ) {
- $jobs[] = new ThumbnailRenderJob( $this->getLocalFile()->getTitle(), array(
- 'transformParams' => array( 'width' => $size ),
- ) );
+ if ( $file->isVectorized()
+ || $file->getWidth() > $size ) {
+ $jobs[] = new ThumbnailRenderJob( $file->getTitle(), array(
+ 'transformParams' => array( 'width' => $size ),
+ ) );
+ }
}
- JobQueueGroup::singleton()->push( $jobs );
+ if ( $jobs ) {
+ JobQueueGroup::singleton()->push( $jobs );
+ }
}
/**