Symfony Messenger
Обработка неудачных заданий
Если задания обслуживания завершаются с ошибкой во время обработки, они удаляются из соответствующего транспорта после определённого количества попыток повторения. Однако вы можете переместить неудачные задания в новый транспорт (например, pimcore_failed_jobs) вместо полного их удаления, используя следующую конфигурацию:
framework:
messenger:
transports:
pimcore_failed_jobs:
dsn: "doctrine://default?queue_name=pimcore_failed_jobs&table_name=messenger_messages_pimcore_failed"
pimcore_core:
dsn: "doctrine://default?queue_name=pimcore_core"
# Для RabbitMQ (рекомендуется) используйте это в качестве примера:
# dsn: "amqp://rabbitmq:5672/%2f/pimcore_core"
failure_transport: pimcore_failed_jobs
После устранения основной проблемы, вы можете повторно обработать неудачные задания с помощью команды: bin/console messenger:consume pimcore_failed_jobs.
Пожалуйста, ознакомьтесь с документацией Symfony для получения дополнительной информации о обработке неудачных заданий.
Мы рекомендуем использовать RabbitMQ в качестве очереди сообщений. Для получения дополнительной информации и примеров конфигурации, пожалуйста, обратитесь к официальной документации RabbitMQ. Пример конфигурации представлен по ссылке.
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.