flownative / neos-asyncimagevariants
A package that allows for asynchronous image variant creation in Neos.Media
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:neos-package
Requires
- php: ^8.2
- flowpack/jobqueue-common: ^3.3
- neos/media: ^8.3
Suggests
- flowpack/jobqueue-beanstalkd: To store jobs
- flowpack/jobqueue-doctrine: To store jobs
- flowpack/jobqueue-redis: To store jobs
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 1
to debug job execution