У меня проблема при получении сообщения от Kafka, если выдается исключение, то выполнение команды останавливается. Чего я хочу добиться, так это повторить неудачное сообщение n раз.
Из документации Symfony я прочитал, что только если выброшено UnrecoverableMessageHandlingException
, команда остановит выполнение.
Эта часть обработчика сообщений, в которую выдается исключение.
$account = $this->accountRepository->find($accountId);
if (null === $account) {
throw new CoreEntityNotFoundException(sprintf('Could not find account with id "%s"', $accountId));
}
, а это файл messanger.yaml:
# Uncomment this (and the failed transport below) to send failed messages to this transport for later handling.
failure_transport: failed
transports:
marketplace_core_entity_user:
dsn: enqueue://default?queue[name]=marketplace.core.entity.user
serializer: app.messenger.serializer.core.user
marketplace_core_entity_account:
dsn: enqueue://default?queue[name]=marketplace.core.entity.account
serializer: app.messenger.serializer.core.account
marketplace_core_entity_account_membership:
dsn: enqueue://default?queue[name]=marketplace.core.entity.account-membership
serializer: app.messenger.serializer.core.account_membership
failed: 'doctrine://default?queue_name=failed'
buses:
app.kafka_consumer_bus:
default_middleware: false
middleware:
- doctrine_transaction
- handle_message
Я ожидаю, что команда продолжит выполнениеи повторите попытку еще раз n, но вместо этого он завершает выполнение команды.