Проблема подключения цветка сельдерея с --persistent True

Я запускал celery flower 1.0.0 как службу systemd с --persistent=True. И при каждом перезапуске происходил сбой с ошибкой SSLV3_ALERT_HANDSHAKE_FAILURE, которая была глубокой из-за сообщения об ошибке db type could not be determined.

После удаления --persisten=True раньше он прекрасно работал при каждом перезапуске, но потом я не смог заставить базу данных цветка сельдерея быть нетронутой после каждого перезапуска.

Вот что сработало для меня.

Во-первых, это SSLV3_ALERT_HANDSHAKE_FAILURE произошло из-за моей неправильной конфигурации часовой + ворон.

Во-вторых, реальная ошибка db type could not be determined возникала из-за того, что новый перезапущенный сервис не мог соединиться с базой данных старого цветочного сервиса. Я не смог выяснить, почему это так, но очень полезный вопрос на GitHub находится здесь.

В конце концов, я попробовал указать флаг --db, чтобы указать местоположение и имя моей базы данных цветов. Это решило проблему. Теперь служба смогла успешно перезапуститься даже при --persistent=True.

Позже я обнаружил, что база данных по умолчанию, которую создавал flower, принадлежала основному пользователю хоста. Но после указания флага --db в служебном файле, база данных стала принадлежать пользователю celery. Это было настоящим решением для меня.

Полезное замечание: Если вы запускаете flower как службу systemd, то убедитесь, что файл базы данных flower принадлежит пользователю celery. А еще лучше всегда использовать флаг --db, который избавит вас от этой проблемы.

Вернуться на верх