Celery Redis Django를 사용하여 고성능 비동기 작업 프로세서를 개발하는 방법
Sep 26, 2023 am 08:41 AMCelery Redis Django를 사용하여 고성능 비동기 작업 프로세서를 개발하는 방법
소개:
현대 웹 개발에서는 비동기 작업 처리가 점점 더 중요해지고 있습니다. 기존의 동기식 처리에서는 시간이 많이 걸리는 작업을 처리하는 동안 다른 요청이 차단되므로 웹사이트 성능이 저하되는 경우가 많습니다. 비동기 작업 프로세서를 사용하면 이 문제를 효과적으로 해결하고 웹 사이트 성능을 향상시킬 수 있습니다.
이 글에서는 Celery, Redis 및 Django를 사용하여 고성능 비동기 작업 프로세서를 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
1. Celery 설치 및 구성:
- Celery 설치: pip install celery 명령을 사용하여 Celery 라이브러리를 설치합니다.
- Celery 구성: Django의 프로젝트 설정 파일에 다음 구성을 추가합니다.
# celery settings CELERY_BROKER_URL = 'redis://localhost:6379/0' CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
참고: CELERY_BROKER_URL 및 CELERY_RESULT_BACKEND는 Redis를 메시지 브로커 및 결과 저장소의 백엔드로 사용합니다.
2. Redis 설치 및 구성:
- Redis 설치: 자신의 시스템 환경에 따라 적절한 설치 방법을 선택하여 Redis를 설치하세요.
- Redis 구성: Django 프로젝트 설정 파일에 다음 구성을 추가합니다.
# redis settings REDIS_HOST = 'localhost' REDIS_PORT = 6379 REDIS_DB = 0
3. 비동기 작업 작성:
- 비동기 작업을 작성하기 위해 Django 프로젝트 앱에서Tasks.py 파일을 만듭니다. 다음은 예입니다.
from celery import shared_task from django.core.mail import send_mail @shared_task def send_email_task(subject, message, recipient_list): send_mail(subject, message, 'noreply@example.com', recipient_list)
- 뷰 함수 또는 다른 곳에서 비동기 작업을 호출합니다.
from .tasks import send_email_task def send_email_view(request): # 调用异步任务 send_email_task.delay('Subject', 'Message', ['recipient@example.com']) return HttpResponse('Email sent asynchronously.')
넷째, Celery Worker를 시작합니다.
- 용 프로젝트 루트 디렉터리에 Celery 시작 스크립트 celery.py를 만듭니다. 셀러리 작업자를 시작합니다. 다음은 그 예입니다.
import os from celery import Celery from django.conf import settings os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') app = Celery('project') app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
- 다음 명령을 실행하여 Celery Worker를 시작합니다.
celery -A project.celery worker --loglevel=info
5. 테스트 및 배포:
- Django 프로젝트의 루트 디렉터리에서 다음 명령을 실행하여 Django를 시작합니다. server:
python manage.py runserver
- In 브라우저에서 해당 URL에 접속하여 비동기 작업의 실행을 테스트합니다.
6. 요약:
Celery, Redis 및 Django를 사용하면 고성능 비동기 작업 프로세서를 쉽게 구현할 수 있습니다. 웹 애플리케이션을 개발할 때 비동기 작업 프로세서를 사용하여 시간이 많이 걸리는 작업을 처리하고 웹 사이트 성능을 개선하며 사용자 경험을 향상시킬 수 있습니다.
위 내용은 Celery, Redis 및 Django를 사용하여 고성능 비동기 작업 프로세서를 개발하는 방법에 대한 소개 및 구체적인 코드 예제입니다. 이 글이 도움이 되셨으면 좋겠습니다. 읽어주셔서 감사합니다!
위 내용은 Celery Redis Django를 사용하여 고성능 비동기 작업 프로세서를 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Windows 11 10.0.22000.100 설치 시 발생하는 0x80242008 오류 해결 방법

erlang과 golang 중 어느 것이 더 나은 성능을 갖고 있나요?
