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


+ Random Posts