我正在使用django-redis和django_rq框架来支持我在Heroku上的Django应用程序的redis缓存和redis后台任务处理。它在过去很顺利,但是现在每次我的一个工作都运行时我就会得到DatabaseError SSL error: decryption failed or bad record mac
。
我读到https://devcenter.heroku.com/articles/postgres-logs-errors文章中的Postgres通常会出现此错误,但它并没有给我任何有用的python设置。
答案 0 :(得分:16)
通过在每个作业开始时关闭数据库连接来解决问题。
例如,
@job
some_job():
from django.db import connection
connection.close()
some_more_code()
答案 1 :(得分:-1)
我怀疑是问题的原因,试图进入PostGres的进程太多(多个),无法处理。
就我而言,我将Django与PostGres RDS结合使用。我通过在数据库配置中添加'OPTIONS': {'sslmode': 'disable'}
来解决此问题。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': ...
'USER': ....
'PASSWORD': ...
'HOST': ....
'PORT': '5432',
'OPTIONS': {
'sslmode': 'disable',
}
}
}