문돌이 존버/Django 스터디
장고 크론탭(django crontab) 사용해보기
애뚱
2021. 2. 20. 09:21
반응형
크론탭은 시간을 정해서 특정 프로그램을 자동으로 동작하게 하는 기능입니다. 리눅스 환경에서만 사용할 수 있으며 윈도우는 따로 시간 설정이 있는 것으로 보입니다.
오늘은 그중에서도 장고에서 크론탭을 활용하는 방법을 살펴보려고 합니다. 결국 크론탭을 이용하는 것이지만 장고 파일 내에서 설정할 수 있도록 모듈을 제공하는 것이죠. 먼저 아래 명령어로 모듈을 설치합니다.
pip install django-crontab
settings.py 에 아래 내용을 추가합니다.
# settings.py
INSTALLED_APPS = (
'django_crontab',
)
CRONJOBS = [
('* * * * *', 'appname.filename.functionname', '>> /appname/crontap.log'),
]
위에서 CRONJOBS를 보시면 '* * * * *' 가 보이실 것입니다. 이는 시간을 설정하는 것이며, 내용은 아래와 같습니다.(제타위키를 참고했습니다)
* * * * *
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일)
│ │ │ └───────── 월 (1 - 12)
│ │ └───────── 일 (1 - 31)
│ └───────── 시 (0 - 23)
└───────── 분 (0 - 59)
아래는 예시입니다.
* * * * * : 매분 프로그램 실행
30 1-23/6 * * * : 1시부터 매 6시간마다 단, 30분(1:30, 7:30, 13:30, 19:30)에 프로그램이 실행
*/10 * * * * : 10분마다 프로그램 실행
15,45 * * * * : 매시 15분, 45분에 프로그램 실행
0 8 * * 1-5 : 평일 8:00에 프로그램 실행
마지막으로 터미널에서 아래 명령어를 입력하면 됩니다.
# 크론탭 내용 추가
python manage.py crontab add
# 크론탭 내용 보기
python manage.py crontab show
# 크론탭 내용 삭제
python manage.py crontab remove
728x90
반응형