Django

Django & Celery

Celery 설정, task, 주기적 작업, task 라우팅, 재시도 전략, 모니터링, beat scheduler

22 면접 질문·
Senior
1

Django 애플리케이션에서 Celery의 주요 역할은 무엇입니까?

답변

Celery는 분산 비동기 task 큐로, 오래 걸리거나 리소스를 많이 사용하는 작업을 HTTP 요청을 차단하지 않고 백그라운드에서 실행할 수 있게 해줍니다. 이를 통해 특히 이메일 전송, 이미지 처리, 집약적인 연산 등에서 애플리케이션의 반응성을 높여 사용자 경험을 개선합니다.

2

대기 중인 task 메시지를 저장하는 역할을 하는 Celery 컴포넌트는 무엇입니까?

답변

message broker(Redis나 RabbitMQ 등)는 실행 대기 중인 task 메시지를 저장하는 핵심 컴포넌트입니다. task 생산자(Django)와 이러한 task를 소비하고 실행하는 Celery worker 사이의 중개자 역할을 합니다.

3

Django 애플리케이션에서 기본적인 Celery task를 정의하려면 어떻게 해야 합니까?

답변

Celery task는 Python 함수에 @shared_task 또는 @app.task 데코레이터를 사용하여 정의합니다. @shared_task 데코레이터는 특정 Celery 인스턴스에 의존하지 않고 여러 애플리케이션에서 task를 재사용할 수 있어 선호됩니다.

4

task.delay()와 task.apply_async()의 차이점은 무엇입니까?

5

Celery를 설정하기 위해 Django 프로젝트 루트에 일반적으로 생성되는 파일은 무엇입니까?

+19 면접 질문

다음 면접을 위해 Django을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기