Asynchronous Thumbnail Generation

Introduction

To optimize response times, generation of thumbnails can be done asynchronously. Usage of asynchronous thumbnail generation is determined in the image view helpers usage with the async flag. When the flag is used, a link to the thumbnail controller returned instead of rendering the thumbnail if the thumbnail hasn’t already been rendered. The thumbnail controller takes a thumbnail object, renders it, if not already done, and redirects to the thumbnail file.

Usage

To use asynchronous thumbnail generation set the async parameter to TRUE in the image view helpers, see Media ViewHelper Reference.

Configuration

The configuration setting Neos.Media.asyncThumbnails is used to determine if asynchronous thumbnails are rendered when creating thumbnails for configured Thumbnails Presets.

The setting is additionally used as the default value for the media:createthumbnails command, see Media Command Reference.

Optimization

Since several simultaneous requests for thumbnails can occur, depending on browser and concurrent users, busy servers can experience performance issues. Therefore it is recommended to configure the server to run the command media:renderthumbnails often or use a job queue by listening to the thumbnailCreated signal and calling refreshThumbnail for the thumbnail in the thumbnail service.

Tip

Configure crontab to run the render command every minute: * * * * * /path/to/site/flow media:renderthumbnails

Use media:clearthumbnails and media:createthumbnails to refresh thumbnails.