Django에서는 앱마다 커스텀 커맨드를 만들 수 있다. (아직도 프로젝트, 앱이 헷갈리다 ㅡㅡ;)
간단하게 설명하면 test.py를 콘솔에서 아래와 같이 명령어로 실행시키기 위한 것이다.
. python manage.py test
위와 같이 명령어를 실행하면 test.py에 있는 소스가 실행된다.
이제 만드는 방법에 대해서 알아보자
1. 커스텀 커맨드를 만들 앱을 결정해서 해당 폴더에 아래 구조로 폴더 2개를 생성한다
(앱의 하위폴더에 생성하는게 중요하다)
-> /management/commands
2. commands 폴더 밑에 test.py 소스를 작성한다. (간단하게 메세지를 출력하는 소스이다)
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self, *args, **kwargs):
def callback(ch, method, properties, body):
print("Received message:", body)
print("Waiting for messages. To exit press CTRL+C")
3. settings.py 에 있는 INSTALLED_APPS 에 해당 앱이 등록되어 있는지 확인해서 없으면 등록한다.
4. 콘솔에서 python manage.py 실행해서 내가 등록한 test 가 나오는지 확인한다. 나오면 정상적으로 등록된건다
5. 실행은 python manage.py test 를 입력하면 test.py가 실행된다.
나의 경우는 백그라운드로 실행해 rabbitmq 로 메세지를 계속 수신하고 싶기 때문에
아래와 같이 nohup 을 사용해 백그라운로 실행한다.
. nohup python manage.py test &
. nohup python manage.py test > test.log & #로그를 쌓고 싶을 경우 설정
'Django' 카테고리의 다른 글
사용자 아이피로 접속허용여부 체크하기 (0) | 2024.10.16 |
---|---|
사용자 아이피, agent 가져오기 (0) | 2024.10.16 |
등록된 아이피만 사이트에 접속허용 - whitelist (0) | 2024.10.15 |
Django 보안 릴리스 발행소식 - 5.1.1, 5.0.9, 및 4.2.16 (1) | 2024.09.05 |
한글 로그문제 해결 - django (0) | 2024.07.31 |