apscheduler 를 이용한 Django 스케쥴러 등록

sig03
Jan 13, 2023

--

//1. 모듈 설치
pip install apscheduler


//2. 스케쥴러를 관리할 앱 생성, 기존 앱에 진행해도 상관없음
python manage.py startapp scheduler


//3. INSTALLED_APPS 에 위에서 생성한 앱 등록
//<DJANGOPROJECT>/setting.py

INSTALLED_APPS = [
...
'schedulers',
]


//4. 실행할 함수 등록
//<DJANGOPROJECT>/scheduler/views.py

def Hello():
print('Hello World')


//5. 실행 방법 등록
//<DJANGOPROJECT>/scheduler/updater.py

from apscheduler.schedulers.background import BackgroundScheduler
from .views import Hello


def start():
scheduler = BackgroundScheduler()
scheduler.add_job(Hello, 'interval', seconds=3)
scheduler.start()


//6. Start
//<DJANGOPROJECT>/scheduler/apps.py

from django.apps import AppConfig


class SchedulersConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'schedulers'

def ready(self):
from . import updater
updater.start()

# 참조

https://dev.to/brightside/scheduling-tasks-using-apscheduler-in-django-2dbl

--

--

sig03
sig03

No responses yet