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

+ Recent posts