django에서celery 분포식 작업 대기열 간단한 사용

2931 단어
특징: 간단하고 문서 도움말이 있습니다.효율적이고 단일celery 프로세스는 분당 수백만 개의 작업을 처리할 수 있다.유연성,celery 모든 부분 확장 가능
pip install celery Celerry가 설치된 컴퓨터를 celery 서버라고 합니다.
구성: 작업 대기열은 크로스 라인, 크로스 기계 작업의 메커니즘으로 전문 프로세스가 작업 대기열을 감청하여 그 중에서 새로운 작업을 얻고 처리한다
클라이언트 브로커 브로커 서버 셀러 시스템은 여러 개의 브로커 워커를 포함할 수 있습니다
1celery 비동기식 작업 패키지 만들기
2 응용 객체/클라이언트 만들기
from celery import Celery
Celery () 매개변수 1: 비동기식 작업의 항목 경로, 매개변수 2: 지정된 브로커 브로커
app = Celery('celery_tasks.tasks', broker='redis://192.***.***.***:6379/2')
app.task 장식 비동기적으로 보내는 작업
 @app.task
  def send_active_email(to_email, user_name, token):
      """ """

      subject = " "  #  
      body = ""  #  
      sender = settings.EMAIL_FROM  #  
      receiver = [to_email]  #  
      html_body = '

존경하는 사용자%s님, 등록해 주셔서 감사합니다!

'
\ '

'

\ 'http://127.0.0.1:8000/users/active/%s' %(user_name, token, token) send_mail(subject, body, sender, receiver, html_message=html_body)

python에서send_ 호출메일로 보내기
보기에서delay () 를 사용하여 비동기 작업을 실행해야 합니다. 저는celery의 표식으로 이해합니다. 그렇지 않으면 모릅니다.
        send_active_email.delay(email, user_name, token)
3 Worker 만들기
프로젝트를 복사한celery 서버가 있는 컴퓨터에
다음 코드를tasks로 복사합니다.py 파일 맨 위
import os 
os.environ["DJANGO_SETTINGS_MODULE"] = " .settings"
#  Celery 
import django
django.setup()

서버 터미널에서 celery 서비스를 시작합니다.
celery -A celery_tasks.tasks worker -l info

좋은 웹페이지 즐겨찾기