Django-apscheduler란?
- Django 프로젝트에서 스케줄링 작업을 설정하고 실행하기 위해 사용되는 강력한 라이브러리
- Python의 Advanced Python Scheduler (APScheduler)를 기반으로 하며, Django 환경에 맞게 확장되어 데이터베이스에 작업을 저장하고 관리할 수 있는 기능을 제공
Django-apscheduler 사용법
설치 및 설정
설치 :
pip install django-apscheduler
설정:
# settings.py
...
INSTALLED_APPS = [
...
"django_apscheduler",
...
]
...
작업 생성
스케줄링할 작업은 Django 앱 내의 파일(예: tasks.py)에 정의
APScheduler의 BackgroundScheduler를 사용하여 작업을 정의하고 스케줄링
# tasks.py
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()
def my_scheduled_task():
print("Scheduled task executed!")
scheduler.add_job(my_scheduled_task, 'interval', minutes=30)
앱 구성 및 실행
작업이 포함된 앱은 Django의 AppConfig를 통해 스케줄러를 시작하도록 설정
# apps.py 파일에서 스케줄러를 시작하는 코드를 추가
from django.apps import AppConfig
from .tasks import scheduler
class MyAppConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'myapp'
def ready(self):
scheduler.start()
'Web' 카테고리의 다른 글
Django) web text editor (3) | 2024.09.24 |
---|---|
Django) Django-crontab (2) | 2024.09.20 |
Django) Tasks Scheduler (2) | 2024.09.15 |
Django) Scheduler 종류와 특성 (1) | 2024.09.15 |
Django) E-mail 전송을 위한 셋팅 (4) | 2024.09.15 |