Django 노트(Celery 소개 및 구성)

1846 단어 Django
Celerra 소개
Celery는python을 기반으로 개발된 분포식 비동기 메시지 작업 대기열로 작업을 쉽게 비동기 처리할 수 있습니다.
인스턴스 응용 장면
비동기 호출: 메일 발송, 이미지 업로드 등
정시 작업: 정기적으로 통계 로그, 데이터 백업 등
셀러리 관련 개념
task: 수행해야 할 작업
워크맨
broker: 작업 대기열
backend: 일을 마치고 결과를 저장하는 곳
​​​​​
Celerra 설치 및 사용
1. 설치(주의! 설치하지 못하면 pip 앞에 sudo 권한을 추가하십시오)
pip install celery

pip install celery-with-redis

pip install django-celery

sudo apt install redis-server

2. 구성
2.1 settings.py 파일 설정
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #    app
    't8',
    #       
    'djcelery',
]
# celery  
import djcelery
djcelery.setup_loader()
BROKER_URL='redis://127.0.0.1:6379/1' # localhost
CELERY_CONCURRENCY=2  #(  worker     )
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/2' # localhost

2.2 프로젝트 디렉터리에 새로운celery.py 파일
from __future__ import absolute_import
from celery import Celery
from django.conf import settings
import os

#             Django 
os.environ.setdefault('DJANGO_SETTING_MODEULE','    .settings')

#    celery
app = Celery('mycelery')

# APP    
app.conf.timezone = "Asia/Shanghai"

#   celery                settings.py
app.config_from_object("django.conf:settings")

#  celery          (task)
app.autodiscover_tasks(lambda : settings.INSTALLED_APPS)
#     app        tasks.py(    )   

2.3 프로젝트 디렉토리의 init.py 파일에 추가
from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app

다음 celery 사용

좋은 웹페이지 즐겨찾기