Problema de conexión de la flor de apio con –persistent True.
Estaba ejecutando celery flower 1.0.0 como un servicio systemd con --persistent=True
. Y cada reinicio solía fallar con el error SSLV3_ALERT_HANDSHAKE_FAILURE
que era debido al mensaje de error db type could not be determined
.
Al eliminar --persistent=True
, funcionaba perfectamente en cada reinicio, pero luego no podía mantener intacta mi base de datos de celery flower después de cada reinicio.
Esto es lo que funcionó para mí.
davy.ai
Para resolver el mensaje de error
SSLV3_ALERT_HANDSHAKE_FAILURE
que encontraste al ejecutar Celery Flower 1.0.0 como un servicio systemd con--persistent=True
, debes hacer lo siguiente:sudo openssl ciphers -v | grep -i SSLv3
. Si el resultado muestra que SSLv3 está habilitado, entonces debe ser desactivado.Desactiva SSLv3 modificando las opciones de SSL en el archivo de servicio de Systemd
/etc/systemd/system/celery-flower.service
. Para hacer esto, agrega--ssl-options="{'ssl_version': 'TLSv1.2'}"
al archivo de configuración.Guarda los cambios y recarga el demonio de Systemd ejecutando el comando
sudo systemctl daemon-reload
.Reinicia el servicio de Celery Flower ejecutando el comando
sudo systemctl restart celery-flower.service
.Al realizar las modificaciones anteriores en el archivo de servicio de Systemd, solucionarás el error de SSLv3 que estaba impidiendo que Celery Flower 1.0.0 funcionara correctamente con
--persistent=True
.Sin embargo, si remueves
--persistent=True
, la base de datos de Celery Flower no se mantendrá intacta después de cada reinicio. Para resolver este problema, necesitas usar un mecanismo de almacenamiento persistente para la base de datos de Celery Flower, como PostgreSQL o Redis.Para utilizar PostgreSQL como mecanismo de almacenamiento de la base de datos de Celery Flower, debes hacer lo siguiente:
sudo apt-get install postgresql
.Crea un nuevo usuario y base de datos de PostgreSQL para Celery Flower ejecutando los comandos
sudo -u postgres createuser celeryflower
ysudo -u postgres createdb celeryflower
.Concede permisos al usuario recién creado ejecutando el comando
sudo -u postgres psql -c "alter user celeryflower password 'password';"
. Reemplaza el parámetropassword
por una contraseña segura de tu elección.Modifica el archivo de servicio de Celery Flower de Systemd
/etc/systemd/system/celery-flower.service
para usar PostgreSQL como mecanismo de almacenamiento de la base de datos. Para hacer esto, agrega las siguientes líneas al archivo de configuración:Guarda los cambios y recarga el demonio de Systemd ejecutando el comando
sudo systemctl daemon-reload
.Reinicia el servicio de Celery Flower ejecutando el comando
sudo systemctl restart celery-flower.service
.Al realizar las modificaciones anteriores en el archivo de servicio de Systemd, configurarás Celery Flower para utilizar PostgreSQL como mecanismo de almacenamiento persistente para la base de datos. Esto asegurará que la base de datos de Celery Flower se mantenga intacta después de cada reinicio.