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
Recently, I ran into an issue where Flower does not work well with an SSL Redis connection provided for Celery via a URL. Since Flower is a Celery app, Celery establishes the connection to the broker during initialization, and it successfully connects. I initially thought that Flower would use the same connection as Celery, but I discovered that it actually parses the Celery configuration and creates its own connection. However, for Redis SSL options, it only parses the broker_use_ssl config parameter - but not the Redis URL. This forces me to create a Python config for Celery, which is less convenient than simply passing the URL via environment variables.
I see two possible solutions:
Fix Flower’s broker config parsing to support all recently added Celery configuration features for broker URLs, including this one, in flower/utils/broker.py.
Remove this parsing and instead reuse Celery's existing broker connection or parser.
I assume there was a reason for creating this separate parser instead of just using Celery’s broker connection. Does anyone know the reasoning behind this and whether it's still relevant?
This might be a tough question, so perhaps @mher or others who have worked on this part, like @cyberjunk or @lpsinger, might have some insights.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello!
Recently, I ran into an issue where Flower does not work well with an SSL Redis connection provided for Celery via a URL. Since Flower is a Celery app, Celery establishes the connection to the broker during initialization, and it successfully connects. I initially thought that Flower would use the same connection as Celery, but I discovered that it actually parses the Celery configuration and creates its own connection. However, for Redis SSL options, it only parses the broker_use_ssl config parameter - but not the Redis URL. This forces me to create a Python config for Celery, which is less convenient than simply passing the URL via environment variables.
I see two possible solutions:
I assume there was a reason for creating this separate parser instead of just using Celery’s broker connection. Does anyone know the reasoning behind this and whether it's still relevant?
This might be a tough question, so perhaps @mher or others who have worked on this part, like @cyberjunk or @lpsinger, might have some insights.
Thank you!
Beta Was this translation helpful? Give feedback.
All reactions