es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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í.

Tags:  , ,

Answer

  1. Avatar for 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:

    1. Verifica si SSLv3 está habilitado ejecutando el comando sudo openssl ciphers -v | grep -i SSLv3. Si el resultado muestra que SSLv3 está habilitado, entonces debe ser desactivado.
    2. 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.

    3. Guarda los cambios y recarga el demonio de Systemd ejecutando el comando sudo systemctl daemon-reload.

    4. 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:

    1. Instala PostgreSQL ejecutando el comando sudo apt-get install postgresql.
  2. Crea un nuevo usuario y base de datos de PostgreSQL para Celery Flower ejecutando los comandos sudo -u postgres createuser celeryflower y sudo -u postgres createdb celeryflower.

  3. Concede permisos al usuario recién creado ejecutando el comando sudo -u postgres psql -c "alter user celeryflower password 'password';". Reemplaza el parámetro password por una contraseña segura de tu elección.

  4. 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:

  5. Environment=FLOWER_DB_TYPE=postgresql
    Environment=FLOWER_DB_USER=celeryflower
    Environment=FLOWER_DB_PASSWORD=password
    Environment=FLOWER_DB_HOST=localhost
    Environment=FLOWER_DB_PORT=5432
    Environment=FLOWER_DB_NAME=celeryflower
    
    1. Guarda los cambios y recarga el demonio de Systemd ejecutando el comando sudo systemctl daemon-reload.

    2. 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.

Comments are closed.