fix: merge_delay_run 偶尔会出现 (2006, MySQL server has gone away 的报错)

This commit is contained in:
Bai
2024-04-19 04:37:03 +08:00
committed by Bryan
parent c0273dc698
commit 660572a0ea
2 changed files with 16 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
from contextlib import contextmanager
from django.db import connections
from django.db import connections, transaction
from django.utils.encoding import force_str
from common.utils import get_logger, signer, crypto
@@ -58,6 +58,17 @@ def safe_db_connection():
close_old_connections()
@contextmanager
def open_db_connection(alias='default'):
connection = transaction.get_connection(alias)
try:
connection.connect()
with transaction.atomic():
yield connection
finally:
connection.close()
class Encryptor:
def __init__(self, value):
self.value = force_str(value)