django-celery 장고에 스케쥴 설정
django-celery 설치
pip install django-celery
proj/proj/settings.py 수정
INSTALLED_APPS = [
...
'djcelery',
'kombu.transport.django',
]
데이터베이스 테이블 생성
python manage.py makemigrations
python manage.py migrate
proj/proj/settings.py 수정
import djcelery
djcelery.setup_loader()
BROKER_URL = 'django://'
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
proj/app/tasks.py 파일 생성
import datetime
import celery
@celery.decorators.periodic_task(run_every=datetime.timedelta(minutes=1))
def myfunc():
print('periodic_task')
from celery.task import periodic_task
from celery.schedules import crontab
@periodic_task(run_every=crontab(hour="*", minute="0", day_of_week="*"), ignore_result=True)
def my_test():
print('periodic_task', 'my_test')
실행
python manage.py celery worker --loglevel=DEBUG -E -B -c 1
admin 페이지 접속
http://127.0.0.1:9000/admin/djcelery/
crontab 설정법
'Programming > Python' 카테고리의 다른 글
[django] 장고의 설계 원칙 (0) | 2017.06.30 |
---|---|
[django] ImportError: cannot import name 'update_contenttypes' (0) | 2017.05.24 |
책. Two Scoops of Django (모범 사례로 배우는 Django(장고) 테크닉) (0) | 2017.05.13 |
윈도우에 pyrebase 설치 (0) | 2017.04.19 |
Synology 에서 django 실행하기 (0) | 2017.04.05 |
댓글