//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