This Flow package allows to asynchronously generate image variants for Neos.Media images.
It does this by switching off automatic variant creation (through settings) and wiring a slot to the assetCreated
signal emitted in the AssetService
. That slot creates a job in the job queue that executes the asset variant
creation asynchronously.
This is installed as a regular Flow package via Composer. For your existing project, simply include
flownative/neos-asyncimagevariants
into the dependencies of your Flow or Neos distribution:
composer require flownative/neos-asyncimagevariants
The package itself has one configuration option for the job queue name to use, it defaults to media-queue
.
Flownative:
Neos:
AsyncImageVariants:
# the queue to use for jobs
jobQueue: 'media-queue'
That queue of course needs to be configured, e.g. like this:
Flowpack:
JobQueue:
Common:
queues:
'media-queue':
className: 'Flowpack\JobQueue\Doctrine\Queue\DoctrineQueue'
executeIsolated: true
releaseOptions:
delay: 15
options:
backendOptions:
driver: '%env:DATABASE_DRIVER%'
host: '%env:DATABASE_HOST%'
port: '%env:DATABASE_PORT%'
dbname: '%env:DATABASE_NAME%'
user: '%env:DATABASE_USER%'
password: '%env:DATABASE_PASSWORD%'
Make sure to run ./flow job:work media-queue
continuously in the background.
- If things don't work as expected, check the system log.
- Check if jobs are queued by using
./flow queue:list
- Run
./flow job:work media-queue --verbose --limit 1
to debug job execution