Generic Execution Engine
Overview
The Generic Execution Engine provides:
- Asynchronous job execution via Symfony Messenger
- State tracking and logging for job runs
- Job run management (start, cancel, restart)
The Generic Execution Engine ships with Pimcore core and is installed as part of Pimcore Studio setup. The Studio setup guide also covers Symfony Messenger worker configuration (supervisord, cron, development) and transport setup (Doctrine, RabbitMQ).
Configuration
Message Consumption
At least one Symfony Messenger worker must consume the pimcore_generic_execution_engine transport.
See the
Pimcore Studio setup guide
for supervisord and cron configuration examples.
For development, run the consumer manually:
php bin/console messenger:consume pimcore_generic_execution_engine
Messenger Transport
By default, the execution engine uses a Doctrine transport. No additional configuration is needed unless you use a different transport such as RabbitMQ. See Symfony Messenger configuration for transport setup details.
Verification
To verify the setup:
-
Check that your message consumer is running:
php bin/console messenger:stats -
Monitor the logs for transport-related errors.
-
Test by creating and running a job through the execution engine.