Горячая перезагрузка разработки Django в Docker задерживается

Горячая перезагрузка задерживается на 1 цикл. Так, например, если у меня print("Hi"), то ничего не меняется, но затем, если у меня print("Hello"), то на экране появляется print("Hi"). Если у меня есть третья команда print("Goodbye"), то появляется print("Hello"). Таким образом, всегда происходит задержка на цикл.

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

Вот мой dockerfile.

###########
# BUILDER #
###########

# pull official base image
FROM python:3.9.9-slim-bullseye as builder

# set work directory
WORKDIR /usr/src/app

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# install dependencies
COPY ./requirements.txt .
RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels -r requirements.txt


#########
# FINAL #
#########

# pull official base image
FROM python:3.9.9-slim-bullseye

# installing netcat (nc) since we are using that to listen to postgres server in entrypoint.sh
RUN apt-get update && apt-get install -y --no-install-recommends netcat && \
    apt-get install ffmpeg libsm6 libxext6  -y &&\
    apt-get autoremove -y && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# install dependencies
COPY --from=builder /usr/src/app/wheels /wheels
COPY --from=builder /usr/src/app/requirements.txt .
RUN pip install --no-cache /wheels/*

# set work directory
WORKDIR /usr/src/app

# copy our django project
ADD ./backend_apps .


# run entrypoint.sh
RUN chmod +x /usr/src/app/entrypoint.sh
ENTRYPOINT ["/usr/src/app/entrypoint.sh"]

Вот часть docker-compose.

services:
  web:
    build: ./backend
    volumes:
      - django_static_volume:/usr/src/app/static
      - media:/usr/src/app/media
      - ./backend/backend_apps:/usr/src/app
    expose:
      - 8000
    command: python manage.py runserver 0.0.0.0:8000

Сценарий точки входа

#!/bin/sh

if [ "$DATABASE" = "postgres" ]; then
  echo "Waiting for postgres..."

  while ! nc -z $SQL_HOST $SQL_PORT; do
    sleep 0.1
  done

  echo "PostgreSQL started"
fi

python manage.py makemigrations --no-input
python manage.py migrate

exec "$@"

Я отключил celery и redis, но проблема все еще сохраняется. Я использую nginx для обслуживания django.

Вернуться на верх