-
[Django] crontab 사용하기언어/파이썬 & 장고 2019. 1. 19. 17:18
Django 에서는 crontab 기능을 지원하여 손쉽게 배치를 추가/실행/삭제를 할 수 있습니다.
설치
$ pip3 install django-crontab
crontab 등록
스크립트 등록을 위한 함수를 생성합니다.
# app/cron.py from my.app import run def scheduler(): run() pass
이후 settings.py에서 아래와 같은 형식으로 등록합니다.
CRONJOBS = [ ('* * * * *', 'app.cron.scheduler') ]
CRONJOBS 내에 들어가는 데이터 형식은 아래와 같습니다.
(' 분 시 일 월 요일 ', '앱이름.파일명.함수명')
스케쥴링에 대한 자세한 내용은 http://brownbears.tistory.com/15 에서 확인할 수 있습니다.
위 작업까지 완료했으면 이제 crontab 명령어를 사용해 처리하면 됩니다.
crontab 명령어
목록
$ python3 manage.py crontab show
추가
$ python3 manage.py crontab add
삭제
$ python3 manage.py crontab remove
위 명령어를 통해 등록했을 경우 실제 서버의 crontab에도 등록된 것을 확인할 수 있습니다.
$ crontab -l * * * * * /bin/python3 /manage.py crontab run 49fb9b8a9b695f26de0c796631105b3e # django-cronjobs for base