Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프론트엔드
- 자바스크립트
- jQuery
- 수수료
- 중도인출
- 문자열
- 변환
- 리스트
- 인출수수료
- Java
- 파이썬
- 가입
- 사망
- javascript
- 추가납입
- 교보
- 특약
- 뇌출혈
- 보험료
- Vue.js
- 교보생명
- 보험
- 납입
- 코딩
- 심장질환
- PythonProgramming
- 프로그래밍
- 급성심근경색증
- python
- 웹개발
Archives
- Today
- Total
SeouliteLab
파이썬 웹 개발의 비동기 처리를 위한 django-celery 활용 가이드 본문
django-celery는 Django 웹 애플리케이션에서 비동기 작업을 처리하기 위한 도구입니다. 이를 통해 웹 요청에 따라 실행 시간이 오래 걸리는 작업을 백그라운드에서 처리하여 웹 애플리케이션의 응답 속도를 향상시킬 수 있습니다. 아래에서 django-celery의 기능과 사용법을 상세히 소개하겠습니다.
기능 1: Celery 설정 및 실행
django-celery를 사용하여 Celery 작업자(worker)를 설정하고 실행할 수 있습니다. Celery는 분산 시스템을 위한 비동기 작업 큐(Queue) 프레임워크로, 웹 애플리케이션과 별도의 프로세스로 실행됩니다.
예제 1: Celery 설정 및 실행
# settings.py
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
# tasks.py
from celery import shared_task
@shared_task
def add(x, y):
return x + y
# Celery 실행
celery -A myproject worker -l info
기능 2: 비동기 작업 정의 및 실행
django-celery를 사용하여 비동기 작업을 정의하고 실행할 수 있습니다. 웹 애플리케이션에서는 Celery를 통해 정의한 작업을 호출하여 비동기적으로 실행할 수 있습니다.
예제 2: 비동기 작업 정의 및 실행
# views.py
from django.shortcuts import render
from .tasks import add
def home(request):
result = add.delay(3, 5)
return render(request, 'home.html', {'result': result})
<!-- home.html -->
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>비동기 작업 결과</h1>
<p>작업 ID: {{ result.task_id }}</p>
<p>상태: {{ result.status }}</p>
<p>결과: {{ result.result }}</p>
</body>
</html>
기능 3: 작업 결과 모니터링
django-celery를 사용하여 비동기 작업의 상태와 결과를 모니터링할 수 있습니다. Celery 웹 인터페이스를 통해 작업 대기열, 실행 중인 작업, 완료된 작업 등의 정보를 확인할 수 있습니다.
예제 3: 작업 결과 모니터링
# Celery 웹 인터페이스 실행
celery -A myproject flower