• Django. Асинхронность: если выполняется длительный запрос, весь сервер висит у остальных пользователей?

    @viacheslav_ustinov
    Добрый день, в подобных ситуациях стоит еще проверить настройки гуникорн, если запускается через него.
    Если все работает в докере, то по привычке в CMD может быть что-то в духе CMD ["gunicorn", "app.wsgi:application", "--bind", "0.0.0.0:8000"], в результате чего получится один синхронный тред - и длинные операции, вне зависимости от того, в транзакции они, или нет - будут вешать всю систему. В команде запуска лучше указывать несколько потоков, например, команда может выглядеть так: CMD ["gunicorn", "app.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "4", "--worker-class", "gthread", "--threads", "4" + остальные настройки, таймаут запроса например вместо стандартного в 30 секунд и т.п.]
    Написано