[django] 다중 스레드를 이용하여 비동기 작업 증가

1383 단어 Django
django가 다른 반응을 보이는 것은celery라는 메시지 대기열 구성 요소일 것입니다. 현재 가장 많이 사용되고 있는 것도 이런 방식입니다.그러나 나의 이 요구는 바로 요청이 왔다. 작은 프로그램을 실행하는 것이다. 그러나 이 작은 프로그램이 언제 실행되었는지 확정할 수 없다. 응답이 제때에 이루어져야 하기 때문에 대기열에 버려서 처리할 수 있다. 물론 가능하지만 간단하게 하기 위해 직접 라인을 만들어 뛰기로 결정했다.(물론 이것은 실험일 뿐이고 응용 규모도 매우 작기 때문에 병발이 높으면 많은 문제가 발생할 수 있다)
view에서.py에서 이 코드를 캡처했습니다.
    @login_required
    def search_area(request):
        prints = PrintThread()
        prints.start()

        return retrieve(request, 'Area', 'areasearche.html', [{'name':'areaname', 'mode': 'contains'}])

    ##  thread   django 
    import threading
    import time
    class PrintThread(threading.Thread):
        def run(self):
            print "start.... %s"%(self.getName(),)
            for i in range(30):
                time.sleep(1)
                print i
            print "end.... %s"%(self.getName(),)

실행의 결과로 볼 때 수요를 완성할 수 있고,
    start.... Thread-7
    0
    1
    2
    [24/Oct/2014 15:09:30] "GET /media/js/hawk.js HTTP/1.1" 304 0
    3
    ...
    26
    27
    28
    29
    end.... Thread-7

정시 지연 임무에 대해 높은 병발 비동기 임무도 mq로 한다.
본 논문은 "orangleliu 노트북"블로그에서 나온 것으로, 전재는 반드시 이 출처를 보존해 주십시오.http://blog.csdn.net/orangleliu/article/details/41961295
저자orangleliu는 서명-비상업적 사용-동일한 방식으로 프로토콜 공유

좋은 웹페이지 즐겨찾기