Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rabbitmq support for celery #4824

Closed
amirreza8002 opened this issue Jan 30, 2024 · 6 comments
Closed

rabbitmq support for celery #4824

amirreza8002 opened this issue Jan 30, 2024 · 6 comments
Labels
enhancement wontfix Wait a 10 days days and automatically close

Comments

@amirreza8002
Copy link

Description

adding the option to choose rabbitmq as message broker for celery projects

Rationale

well not all projects need a storage backend for celery so using redis instead of rabbitmq doesn't make much sese for them
also the combination of redis and rabbitmq is a popular choice

@shywn-mrk
Copy link
Contributor

I can work on this and add this to the project if needed. AFAIK we should add the image for local and production environments and the related config. We do need a list of plugins that we may need for the project to enable and include in RabbitMQ config. The question to ask is if the user wants RabbitMQ as a broker or not. Since it may need to also use Redis for cache purposes we should set the value of the celery broker URL based on this option.

@browniebroke
Copy link
Member

I'm personally against this: as it was just stated above we need/use redis for caching, so we won't be able to eliminate the redis service.

IMO it's about simplifying the stack by avoiding a separate service just for the Celery broker, adding RabbitMQ means:

  • it's one more technology to explain to beginners: "why do I need/want RabbitMQ?"
  • one more decision point while setting up a project
  • it's more resources needed to run on the server (if using Docker) or one extra service provider to find (e.g. Heroku)
  • one more combination to test against

So unless there is a massive demand for it, and it's a simple implementation, then maybe.

@amirreza8002
Copy link
Author

i do understand your point of view
i personally use rabbitmq and have been in situations where i didn't really need redis
so i thought it is a good option to have here
but i understand that it might get you some trouble to maintain
but i still would love to see it happen if you found the time 🙃

@Andrew-Chen-Wang
Copy link
Contributor

For many organizations I've worked with, not having Redis eventually made us feel lots of pain. I've used Redis for billions of tasks in a project before. There weren't any reasons to use RabbitMQ except for extremely volatile workloads where compute resources could be maximized at any time or having a bad continuous deployment setup . RabbitMQ's also beginning to look like Kafka's API too; once there's that sort of complexity, that's when you can think about using RabbitMQ for Celery. But for project gen, it's worth just sticking to Redis.

@browniebroke
Copy link
Member

I've left this open for a while, to see if was interest for it. I think there hasn't been enough interest to justify the extra maintenance complexity I mentioned earlier.

@browniebroke browniebroke added the wontfix Wait a 10 days days and automatically close label May 13, 2024
Copy link
Contributor

As discussed, we won't be implementing this. Automatically closing.

@browniebroke browniebroke closed this as not planned Won't fix, can't repro, duplicate, stale May 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement wontfix Wait a 10 days days and automatically close
Projects
None yet
Development

No branches or pull requests

4 participants