2016-12-21 8 views
1
@app.route("/") 
def start(): 
    #will do some task 
    return 'completed' 

위의 프로그램에서 실행 후 첫 번째 요청 두 번째 요청이 실행됩니다. 그러나 플라스크 또는 다른 것을 사용하여 특정 시간에 여러 요청을 수락하고 실행하고 응답하는 서버를 만들고 싶습니다.플라스크를 사용하여 다중 요청 처리 병렬 처리

어떻게하면됩니까?

답변

2

다중 요청 처리/프로덕션 배포의 경우 gunicorn 또는 apache 또는 gevent를 사용해야합니다.

http://flask.pocoo.org/docs/0.11/deploying/

비슷한 접근 방식은 너무 장고와 같은 다른 파이썬 웹 프레임 워크에 대해 다음과 같습니다.

+0

장고를 사용하여 팔랑 리 처리 요청을 확인하는 데 도움이 될 수있는 예제를 제공 할 수 있습니까 ?? 덕분에 –

+1

@SudipDas Django는 https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/modwsgi에 설명 된대로 Apache mod_wsgi를 사용하여 배포 할 수 있습니다. 나는 gunicorn도 사용했지만 gunicorn은 그렇지 않습니다. 정적 파일을 제공하고 정적 파일을 제공하려면 nginx와 더 이상 인터페이스해야합니다. 더 평행을 이루기 위해 docker swarm과 scale 서비스를 사용하거나 Elastic Beanstalk을 사용하여 동적으로 확장 할 수 있습니다. –

1

klein 모듈을 사용하면 한 번에 여러 요청을 처리 할 수 ​​있습니다.


이 링크를 다스 려 후에 나는 클라인로 플라스크로 전환. 희망이 당신을도 도움이됩니다.

+0

분산 된 클러스터 컴퓨팅을 위해이 서버가 필요합니다. 서버의 요청로드가 높으면 다음으로 이동하고 싶습니다. 서버에 연결되어있는 다른 컴퓨터에 요청하십시오. 일반적으로 분산 된 클러스터 컴퓨팅을 관리하기 위해 dask.distributed를 사용합니다. 내가 클라인을 사용하여 요청을 바꿀 수 있습니까? 주로 나는 서버의 부하가 높다는 요청을 이동하는 완입니다. –

+0

해당 설명서를 참조하십시오. https://media.readthedocs.org/pdf/klein/latest/klein.pdf –

+0

방해해서 죄송합니다. 동시에 여러 요청을 처리 할 수있는 예를 들려 줄 수 있습니까? 이 예제를 사용하여 ==> 클라인 수입 클라인 수입 시간 응용 프로그램 = 클라인() 데프 testFun()에서 : \t ('시작') \t 인쇄 진정한 동안 : \t \t time.sleep (3) app.route @ ('3 초 후에') \t \t time.sleep (3) \t \t 인쇄 ('반복') \t \t 인쇄 DEF 를 ('/'방법 = 'GET']) square_submit (요청) : # x = int (request.args. "완료"('X'[0]) [0]) # 입술 = X * X \t testFun() \t 수익을 얻는 경우 __name__ == "__main__" \t app.run (" localhost ", 8888) –