You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Celery and other task queues require brokers like RabbitMQ and redis to back workers. RabbitMQ provides stronger security than redis so we should emulate the current postgres/mysql setup except for RabbitMQ
The text was updated successfully, but these errors were encountered:
Add in RabbitMQ support without modifying the existing PostgreSQL/MySQL code. This would entail massive amounts of code duplication. Essentially, everything that deals with databases, from the manager to the orchestrator, would have to be copy/pasted and modified slightly.
This is a LOT of code we're talking about. There's the views that handle creating/deleting databases, there's the endpoints on the orchestrator that actually perform the creation/deletion, there's the database shell view... the list goes on and on.
I do not think pursuing this option is a good idea.
Rework Director to support a single site having multiple databases, then add logic to the DB creation/management code in the orchestrator to be able to create RabbitMQ databases too. This is the better way to do it, but it would be fairly involved because the "one site, one database" model is very deeply engrained.
Note that this would raise some issues. For example, how do we set DATABASE_URL (and similar environmental variables) if the site has a Postgres DB, a MySQL DB, and a RabbitMQ DB? How do we communicate all 3 to the site?
In addition, if support is implemented this way, we might as well add Redis support too. Redis 6 added support for multiple users, which would make it possible to implement similarly to RabbitMQ.
Celery and other task queues require brokers like RabbitMQ and redis to back workers. RabbitMQ provides stronger security than redis so we should emulate the current postgres/mysql setup except for RabbitMQ
The text was updated successfully, but these errors were encountered: