DjangoのAutoreloadをONにしてhtmlファイルの変更を行うとサーバーが停止する現象について

前提

現在Linux上でDockerを用いて、Djangoのコンテナを設置してその中でシステムの開発を行っております。
Django起動時の設定でpy-autoreloadを有効にしている状態で開発をしているのですが、テンプレートファイル(html)の内容を変更しても自動リロードがかからないため、pyファイルを更新することで自動リロードをかけてテンプレートファイルを更新しています。
それが原因なのかはわかりませんが自動リロードが走る際に何かが原因でDjangoが固まり、サーバ全体が高負荷状態となりSSH接続も切断されます。
その後、再度接続しようとしてもボエラーとなってしまい入ることができません。

上記現象が起きた場合はサーバを停止させて再度起動直してSSHで入り直すようにしています。
本現象は既に5,6回起きており再現性があるようですが、エラーログも特に出ておらず原因がわかりません。

質問内容

このような挙動を示すのはpy-autoreloadを設定が間違っていることが原因なのでしょうか?
あるいはpy-autoreloadで開発をすること自体が良くないのでしょうか?
Djangoでの開発方法がよくわからず手探りでやっているので助言いただけると幸いです。

ソースコード

以下docker_compose.ymlのソースコードです

docker

1version: '3'2 3services:4 https-portal:5 image: steveltn/https-portal:1 6 ports:7 - '80:80'8 - '443:443'9 links:10 - webserver 11 environment:12 DOMAINS: 'xxxxxxxxxxxxxxxxx -> http://webserver:8000'13 STAGE: 'production'14 CLIENT_MAX_BODY_SIZE: 10M 15 volumes: 16 - ./https-portal:/var/lib/https-portal 17 18 webserver:19 image: nginx:1.13 20 ports:21 - '8000:8000'22 volumes:23 - ./nginx/conf:/etc/nginx/conf.d 24 - ./nginx/uwsgi_params:/etc/nginx/uwsgi_params 25 - ./static:/static 26 depends_on:27 - app 28 29 app:30 build: ./python 31 command: >32 uwsgi --socket :8001 --module xxx.wsgi --py-autoreload 1 --processes 2 33 volumes:34 - ./django:/code 35 - ./static:/static 36 expose:37 - "8001"

補足情報(FW/ツールのバージョンなど)

Amazon Linux
Docker version 20.10.23, build 7155243
Docker Compose version v2.19.1
Python 3.11.5

コメントを投稿

0 コメント