Estoy usando el último Apio estable (4) con RabbitMQ dentro de mi proyecto Django.
RabbitMQ se ejecuta en un servidor separado dentro de la red local. Y vencer periódicamente solo se detiene para enviar tareas al trabajador sin ningún error, y solo reiniciarlo resuelve el problema.
No hay excepciones en el trabajador (registros registrados y también estoy usando Sentry para detectar excepciones). Simplemente deja de enviar tareas.
Configuración del servicio:
[Unit] Description=*** Celery Beat After=network.target [Service] User=*** Group=*** WorkingDirectory=/opt/***/web/ Environment="PATH=/opt/***/bin" ExecStart=/opt/***/bin/celery -A *** beat --max-interval 30 [Install] WantedBy=multi-user.target¿Es posible arreglar esto? ¿O hay buenas alternativas? (Cron parece no ser la mejor solución).
Su descripción se parece mucho a este error abierto: https://github.com/celery/celery/issues/3409
Hay muchos detalles allí, pero la descripción de error de alto nivel es que si se pierde la conexión con RabbitMQ, no se puede recuperar la conexión.
Desafortunadamente, no puedo ver que nadie haya resuelto definitivamente este problema.
Podrías comenzar depurando esto usando esto:
ExecStart=/opt/***/bin/celery -A *** beat --loglevel DEBUG --max-interval 30