Web
Django) Django-crontab
서영환
2024. 9. 20. 19:52
Django와 crontab이란?
Django: 웹사이트를 쉽게 만들 수 있게 도와주는 도구로 마치 레고 블록으로 집을 짓는 것처럼, Django를 사용하면 웹사이트를 빠르고 쉽게 만들 수 있다
Crontab: 컴퓨터가 스스로 어떤 일을 정해진 시간에 할 수 있도록 도와주는 도구이다. 예를 들어, 매일 아침 7시에 컴퓨터가 자동으로 음악을 틀게 할 수도 있다
Django-crontab이란?
Django-crontab은 Django와 crontab을 함께 사용할 수 있게 해주는 도구
Django로 만든 웹사이트에서 어떤 일을 자동으로 정해진 시간 동작 가능
작동
설정하기: 먼저 Django-crontab을 설치
pip install django-crontab
# settings.py 파일에 django_crontab을 추가
INSTALLED_APPS = [
# 다른 앱들...
'django_crontab',
]
CRONJOBS = [
('0 0 * * *', 'myapp.tasks.delete_old_data'), # 매일 자정에 실행
]
# myapp/tasks.py
from datetime import datetime
from myapp.models import MyModel
def delete_old_data():
# 예를 들어, 30일 이상 된 데이터를 삭제하는 코드
cutoff_date = datetime.now() - timedelta(days=30)
MyModel.objects.filter(created__lt=cutoff_date).delete()
print("오래된 데이터가 삭제되었습니다!")
자동으로 실행하기: 설정한 시간이 되면, 컴퓨터가 알아서 동작
python manage.py crontab add
Crontab 확인하기
python manage.py crontab show