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