php-amqplib / RabbitMqBundle

RabbitMQ Bundle for the Symfony web framework
MIT License
1.22k stars 470 forks source link

[WIP] Experimental 3.0 #632

Closed sashaaro closed 1 year ago

sashaaro commented 3 years ago

More flexable configuartion, rework bundle yaml config, allow consume multiple queue from different exchanges. Simplify configure declarations separetly from consumers and producers. Simplify create and register Consumer dynamically See README.md https://github.com/sashaaro/RabbitMqBundle/blob/experiment/Resources/doc/configuration.md see how we can easy define consumer with many exchanges and callbacks

Execute any consumers by one rabbitmq:consumer command only. Add --no-declare option Removed duplicate code. Removed deprecated features. Removed ConsumerInterface in favor no interface method (inspired Symfony nointefrace controller actions) Removed anyone consumer classes except common Consumer class. Add kubernetes recipt

sashaaro commented 3 years ago

@ramunasd is it worth to continue contribute? I am open for discussion and suggestions Many things are not done yet but that draft contains implemented features and give understand primary goals for new major release I would glad to get feedback and help finish it

ramunasd commented 3 years ago

The first thing that comes into my head is - it's a huge change. Second thing - it's very hard to understand what actually is going here, what problem You are solving? I would suggest to split this change into several smaller and backwards compatible ones. Let's tackle problems one by one instead of trying to fix everything at once ;)

github-actions[bot] commented 3 years ago

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

sashaaro commented 2 years ago

I would suggest to split this change into several smaller

@ramunasd I totally rework foundation and configuration with many break changes. Not worth to keep backwards compatibility, users can stay on v2. It is why I increase major version as v3. You can ping me in DM. contact from my github profile

summary: Remove deprecated code and feature. Allow consume from multiple queue with different exchanges and handlers. Pls see README.md and example important! Allow register Consumer dynamically. important! Simplify code and usage, improve event and logging. Maybe consumer definition by php8 class/method annotation

I have huge work done for present draft of my ideas. Would be glad to get feedback and discuss how we can push it to release.

sashaaro commented 2 years ago

https://github.com/sashaaro/RabbitMqBundle/blob/ec0f05e1ee0822e1e6ca6d10dc8a459ed808946c/Resources/doc/configuration.md?plain=1#L81