2016-07-27 6 views

답변

15

은 장고의 비동기 처리를위한 것입니다.
Django가 사용하는 표준 모델은 요청 - 응답이지만 중요한 제한이 있습니다. 우리는 그 모델의 제한 밖에서는 아무것도 할 수 없습니다.
채널은 우리가 여러 메시지를 보낼 수 있도록 등

Celery 완전히 다른 일이, 세션을 관리, 웹 소켓 지원 및 웹 소켓 주변의 복잡한 애플리케이션을 구축을 허용하려고했다, 그것은 비동기 작업 큐는/분산 메시지 전달을 기반으로하는 작업 대기열 주로 작업을 대기시키고 특정 간격으로 실행되도록 예약하는 데 사용됩니다. 당신이 채팅 응용 프로그램처럼 asynchronous data communication을 필요로 할 때

간단히 말해 채널 사용되며, 셀러리는 작업 예약 및 고정 간격으로 뉴스의 특정 유형에 대한 웹 스크래핑 서버 같은 행사입니다.

+8

장고 채널은 백그라운드 처리를 지원합니다. 나는 더 많은 질문에 대한 생각, 어떻게 장고 채널 백그라운드 처리 샐러리 노동자와 다르다 생각합니다. – therealsachin

+1

셀러리는 완전히 다른 것입니다. 저는 높은 수준의 관점에서 완전히 다른 것은 아니라고 생각합니다. 무슨 일이야? 입력, 처리, 출력 :-) 참조 : https://en.wikipedia.org/wiki/IPO_model – guettli

1

장고 채널은 장고에게 웹 소켓과 HTTP2를 포함한 일반 HTTP 요청 이상의 것을 처리 할 수있는 기능을 제공합니다. 이것을 비동기식으로 발생하는 양방향 양방향 통신이라고 생각하십시오. 브라우저가 새로 고쳐지지 않습니다. 여러 클라이언트가 websocket 및 django 채널을 통해 데이터를주고 받으면이 상호 통신 예제를 동시에 액세스하는 동시에 클라이언트와 그룹 채팅을 조정할 수 있습니다. 어느 정도 셀러리의 것과 긴 코드를 백그라운드로 처리 할 수는 있지만 채널의 적용은 셀러리와 다릅니다.

셀리는 분산 메시지 전달을 기반으로하는 비동기 작업 대기열/작업 대기열입니다. 뿐만 아니라 스케줄링. leman 용어로 말하자면, 나는 백그라운드에서 작업을 시작하고 실행하고 싶습니다. 또는 일정한 간격으로 뒤에서 실행되고 실행되는 정기적 인 작업을 원합니다. 또한 동기식으로 작업을 시작하고 완료 될 때까지 기다렸다가 계속할 수 있습니다. 는 따라서 키 차이가 장고

5
  • ChannelsWebSocket, long-poll HTTP을위한 프레임 워크의 사용 그들이 섬기는 케이스와 목표입니다.

  • Celery은 대기열 작업을위한 것입니다.

관련 문제