Как изменить период тайм-аута базы данных в django?

У меня есть скрипт django, который получает данные из модели.

try:   
    myuser = MyUser.objects.get(id=user_id)
except Exception as e:
    print(e)
    # do next process

Тогда я хочу сделать следующее:

  • Когда база данных остановлена или не достигнута, я хочу поймать и выполнить следующий процесс.

Однако моя программа возвращает 502 немедленно, потому что она достигает таймаута лямбды aws.

2022-06-23 19:09:51 127.0.0.1 - - [23/Jun/2022 19:09:51] "POST /webhook HTTP/1.1" 502 -
Function 'MyDjangoFunction' timed out after 300 seconds
No response from invoke container for MyDjangoFunction
Invalid lambda response received: Lambda response must be valid json

Итак, моя идея состоит в том, чтобы установить django - sql timeout короче.

Есть ли какой-нибудь хороший метод?

Что вы ищете CONN_MAX_AGE:

https://docs.djangoproject.com/en/dev/ref/settings/#conn-max-age

Например:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
        'CONN_MAX_AGE': 30,
    }
}
Вернуться на верх