mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-06-07 01:14:19 -04:00
fix: django connection settings (#1529)
This commit is contained in:
@@ -3,7 +3,9 @@ from __future__ import absolute_import
|
||||
import os
|
||||
|
||||
from celery import Celery
|
||||
from celery.signals import worker_process_init
|
||||
from django.conf import settings
|
||||
from django.db import connections
|
||||
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cms.settings")
|
||||
app = Celery("cms")
|
||||
@@ -20,3 +22,13 @@ app.conf.task_always_eager = settings.CELERY_TASK_ALWAYS_EAGER
|
||||
|
||||
|
||||
app.conf.worker_prefetch_multiplier = 1
|
||||
|
||||
|
||||
@worker_process_init.connect
|
||||
def close_db_pool_on_fork(**_):
|
||||
# psycopg3's ConnectionPool is not fork-safe: children inherit dead sockets
|
||||
# from the parent's pool and block on getconn() until PoolTimeout. Dispose
|
||||
# the inherited pool here so each prefork child opens its own on first use.
|
||||
# NB: plain conn.close() would only putconn() back into the broken pool.
|
||||
for conn in connections.all():
|
||||
conn.close_pool()
|
||||
|
||||
+19
-1
@@ -407,7 +407,25 @@ LOGGING = {
|
||||
},
|
||||
}
|
||||
|
||||
DATABASES = {"default": {"ENGINE": "django.db.backends.postgresql", "NAME": "mediacms", "HOST": "127.0.0.1", "PORT": "5432", "USER": "mediacms", "PASSWORD": "mediacms", "OPTIONS": {'pool': True}}}
|
||||
DATABASES = {
|
||||
"default": {
|
||||
"ENGINE": "django.db.backends.postgresql",
|
||||
"NAME": "mediacms",
|
||||
"HOST": "127.0.0.1",
|
||||
"PORT": "5432",
|
||||
"USER": "mediacms",
|
||||
"PASSWORD": "mediacms",
|
||||
"OPTIONS": {
|
||||
"pool": {
|
||||
"min_size": 2,
|
||||
"max_size": 8,
|
||||
"timeout": 10,
|
||||
"max_lifetime": 30 * 60,
|
||||
"max_idle": 10 * 60,
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
REDIS_LOCATION = "redis://127.0.0.1:6379/1"
|
||||
|
||||
Reference in New Issue
Block a user