flownative / neos-asyncimagevariants
A package that allows for asynchronous image variant creation in Neos.Media
Package info
github.com/flownative/neos-asyncimagevariants
Type:neos-package
pkg:composer/flownative/neos-asyncimagevariants
Requires
- php: ^8.2
- flowpack/jobqueue-common: ^3.3
- neos/media: ^8.3
Requires (Dev)
None
Suggests
- flowpack/jobqueue-beanstalkd: To store jobs
- flowpack/jobqueue-doctrine: To store jobs
- flowpack/jobqueue-redis: To store jobs
Provides
None
Conflicts
None
Replaces
None
README
Flownative.Neos.AsyncImageVariants
Description
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.
Installation
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
Configuration
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.
Troubleshooting
- 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 1to debug job execution