2017-01-09 1 views
5

Django Framework에서 Server Sent Events (SSE)를 구현하려고합니다. 내가 이런 view 구현할 수 있다는 것을 나에게 분명하다Django Server 사용하기 데이터베이스 저장 후 이벤트 보내기

@csrf_exempt 
def event_stream(request): 
    def eventStream(): 
     yield "data:Server Sent Data\n\n" 

    response = HttpResponse(eventStream(), content_type="text/event-stream") 
    response['Cache-Control'] = 'no-cache' 
    return response 

을하지만 테이블의 post_save, 어떻게 수도에서 새 항목이 데이터베이스 테이블에서 이루어집니다 때마다 SSE 호출을 트리거 할 여기서 eventStream이 생성기 함수이기 때문에 여기에서 성취 할 수 있어야합니다.

답변

7

장고가 WebSocket을하거나 SSE 제대로 작동하지 않음을 의미 요청/응답 사이클의 주위에 구축입니다 사용해야합니다. 보기에서 대기열 (rabbitmq, redis pubsub)을 구독하고 신호 처리기에서 데이터를 보내지 않는 한보기에 post_save 신호를 전파 할 수있는 방법이 없습니다. 장고 채널이며,

  • Django channels
  • nodejs 같은 asynchronus 솔루션 또는 대신 또는 함께 토네이도

    • 롱 폴링 모든 중
  • +0

    장고 :

    서버에서 밀어 다른 솔루션을 고려 깔끔한. – Shubham

    관련 문제