В целом
Максим дело говорит, но ситуации бывают разными, поэтому есть вероятность что вам
действительно нужно уметь влезать в эти лимиты.
На самом деле, поскольку вы используете Messenger - то вы уже весьма близки к цели, поскольку Messenger перезапускает обработку сообщения в случае неполной обработки. Просто
настройте retry_strategy
под свои нужды и оно будет работать. Надо только
мониторить failed messages.
Также, если вы можете позволить себе использовать Symfony 5.2 - то в этой версии появился
отдельный компонент RateLimiter, который специально предназначен для решения именно таких задач. Сделайте
Messenger middleware для того чтобы помечать сообщения на отправку только если это разрешает RateLimiter, а для остальных бросайте
RecoverableMessageHandlingException
чтобы
отменить обработку. Но, опять же, не забудьте про настройки retry strategy чтобы это не приводило к потерянным сообщениям.