芹菜花连接问题--persistent True
celery flower connection issue with --persistent True
我是 运行 celery flower 1.0.0 作为系统服务 --persistent=True
。每次重启都会因错误 SSLV3_ALERT_HANDSHAKE_FAILURE
而失败,这是由于 db type could not be determined
错误消息而导致的。
删除 --persisten=True
后,它过去在每次重启时都能完美运行,但每次重启后我无法让我的芹菜花数据库保持完整。
这是对我有用的方法。
首先,那个SSLV3_ALERT_HANDSHAKE_FAILURE
是因为我对sentry + raven的错误配置。
其次,真正的错误db type could not be determined
出现是因为新重启的服务无法连接到旧花服务的数据库。我无法找出为什么会这样,但一个非常有用的 GitHub 问题是 here。
最后,我尝试指定 --db
标志来指定我的花卉数据库位置和名称。这为我解决了这个问题。现在即使 --persistent=True
.
服务也能够成功重启
后来,我发现flower创建的默认数据库是主机主用户所有的。但是在服务文件中指定 --db
标志后,数据库归 celery 用户所有。这对我来说是真正的解决方案。
小贴士:如果你是运行 flower 作为systemd 服务,那么请确保flower 数据库文件归celery 用户所有。或者更好的是始终使用 --db
标志来避免这个问题。
我是 运行 celery flower 1.0.0 作为系统服务 --persistent=True
。每次重启都会因错误 SSLV3_ALERT_HANDSHAKE_FAILURE
而失败,这是由于 db type could not be determined
错误消息而导致的。
删除 --persisten=True
后,它过去在每次重启时都能完美运行,但每次重启后我无法让我的芹菜花数据库保持完整。
这是对我有用的方法。
首先,那个SSLV3_ALERT_HANDSHAKE_FAILURE
是因为我对sentry + raven的错误配置。
其次,真正的错误db type could not be determined
出现是因为新重启的服务无法连接到旧花服务的数据库。我无法找出为什么会这样,但一个非常有用的 GitHub 问题是 here。
最后,我尝试指定 --db
标志来指定我的花卉数据库位置和名称。这为我解决了这个问题。现在即使 --persistent=True
.
后来,我发现flower创建的默认数据库是主机主用户所有的。但是在服务文件中指定 --db
标志后,数据库归 celery 用户所有。这对我来说是真正的解决方案。
小贴士:如果你是运行 flower 作为systemd 服务,那么请确保flower 数据库文件归celery 用户所有。或者更好的是始终使用 --db
标志来避免这个问题。