Celery 커맨드 실행 오류

유영석·2023년 12월 3일
0

잡다한 정보

목록 보기
1/15
post-thumbnail

Django 를 활용하여 백엔드 개발 중에 무거운 작업을 돌리기 위해 Celery 를 사용하여 개발 환경을 세팅하고 있었습니다. 공식 문서 만 봐도 아시겠지만 파이썬 프레임워크에 Celery 세팅을 한 후 본격적으로 Celery Worker가 돌아가는 서버를 돌리는 명령어는 아래와 같습니다.

celery -A tasks worker --loglevel=INFO

이것이 기본 명령어이지만, 저와 같은 경우 로그 파일을 따로 두어 로그를 기록하기 위해 --logfile 옵션을 함께 사용하였습니다. 아래와 같이 말이죠.

celery -A mysite worker -l info --logfile=logs/celery.log

그런데 이렇게 하면, 아래와 같이 Supseruser 권한으로 실행하지 말라는 경고 뜹니다.

그래서 아래와 같이 --uid--gid 옵션을 주었습니다.

celery -A mysite worker -l info --uid=nobody --gid=nogroup --logfile=logs/celery.log

그런데 exit code 0 와 함께 그냥 종료 되어버립니다!!!!🤯

아무 로그도 남기지 않고 시작과 동시에 그냥 아무런 동작이 없는 겁니다...

해결법

결과부터 얘기해서 해결법은 허무할 정도로 간단합니다. 그냥 psycopg2 라는 파이썬 라이브러리를 아래와 같은 명령어로 설치해주면 됩니다.

pip install psycopg2

아무런 로그와 결과도 없이 그냥 커맨드가 종료되어 버리는데, 해결법을 어떻게 찾을 수 있었냐 물어보신다면... celery 커맨드 실행 시에 넣은 옵션들이 원인인 것 같습니다. 옵션을 빼고 실행하고 나서야 아래와 같은 에러 메시지가 나옵니다.

그런데, 이렇게 에러 이유라도 줘야 하는데 옵션만 붙으면 그냥 종료되어 버리는 에러가 있더라고요....🫠

profile
소프트웨어 엔지니어

0개의 댓글