Filesystem Transport Bundle for Symfony Messenger
, (*1)
Integrates the Filesystem Transport to Symfony., (*2)
Install
composer require pnz/messenger-filesystem-transport-bundle
This transport handles the filesystem://
schema, use the FilesystemTransportFactory
to create the transport.
Symfony configuration:, (*3)
Configure the Filesystem transport:, (*4)
# config/packages/messenger.yaml
parameters:
# Default ENV value: the queue messages will be stored in the `var/queue` folder,
# The trailing `//` is required for match the `filesystem://` schema
env(MESSENGER_TRANSPORT_DSN): "filesystem://%kernel.project_dir%/var/queue"
framework:
messenger:
transports:
filesystem: '%env(resolve:MESSENGER_TRANSPORT_DSN)%'
routing:
App\Message\MyMessage: filesystem
Configuration
Check the Filesystem Transport documentation., (*5)
In short, the DSN includes the following query parameters:, (*6)
-
compress
: Enable/Disable compression of messages storage (gzinflate/gzdeflate), use compress=true
(default: false)
-
loop_sleep
: Define the sleep interval between loops in micro-seconds, use loop_sleep=MICRO-SECONDS
(default: 500000)
Example:, (*7)
# .env
# Enable compression, and sleep for 0.8 seconds during loops if the queue is empty
MESSENGER_TRANSPORT_DSN="filesystem://%kernel.project_dir%/var/queue/default?compress=true&loop_sleep=800000"