Study/django

django에서 manage.py에 정의된 config 파일이 아닌 다른 파일을 참조하는 경우

bluebamus 2024. 10. 11.

* 해당 문제는 여태 문제가 없이 잘 사용을 하던차, wsgi와 asgi의 지원을 위한 opensource 작업 후 갑자기 발생한 문제였다.

 

문제 정의 : 개발시 dev.py 배포시 stage.py 설정 파일을 참조하게 되어 있으며, 각각의 debug는 당연하게도 true, false로 다르게 구성되어 있다. 하지만, 어느 순간부터 debug 모드가 동작하게 되었고 참조되는 파일을 확인하였을 때 잘못된 설정 파일을 참조하는 것을 확인하게 되었다.

 

결론 : celery를 사용하는 경우, 설정 파일을 명시적으로 정의하게 되어 있다. 예상되는 절차로 django의 설정파일이 로드되고, 이후 celery에서 관련한 설정 파일을 로드하게 된다. 이때 각각 다른 설정 파일이 정의되어 있는 경우, 순차적인 절차로 celery에서 참조하는 설정파일이 최종 로드되는 것으로 보였다. 

 

 - manage.py, wsgi.py, celery.py의 모든 설정이 동일한 파일로 되어 있으면 문제가 없어진다.

댓글