2011-02-17 3 views
3

가능한 중복 :
Python XMLRPC with concurrent requestsSimpleXMLRPCServer가 단일 스레드입니까?

내가 SimpleXMLRPCServer 클래스를 사용하여, XML-RPC 서버 역할을하는 파이썬 응용 프로그램을 쓰고 있어요.

내 질문은 : 두 개 이상의 클라이언트가 동시에 요청을 보내면 어떻게됩니까? 대기열에 있습니까? 두 클라이언트가 같은 기능이나 다른 기능을 호출 할 때 동시에 실행되지 않는다고 보장 할 수 있습니까?

+0

답변은 많은 아키텍처 기능에 달려 있습니다. 자신이하는 일에 대해 더 많은 정보를 제공해주십시오. 예를 들어 서버가 Apache의 일부인 경우 (mod_wsgi를 통해), 각각의 응용 프로그램과 독립적으로 여러 개의 동시 wsgi 스레드가있는 여러 개의 Apache 프로세스가 있습니다. –

+0

나는 이와 비슷한 코드를 가진 독립형 서버에 대해 말하고있다. http://docs.python.org/library/simplexmlrpcserver.html (20.24.1.1). 따라서 CGI 구현 (20.24.2에서 설명)이 아닙니다. 나는 독립 실행 형 서버를 만들고 심지어 아파치도 설치하지 않았다. – Emiliano

답변

7

SimpleXMLRPCServer의 라이브러리 구현은 실제로 단일 스레드라고 생각합니다.

그냥 (필요한 경우 한 번에 하나 이상) XML-RPC 요청을 처리하는 응용 프로그램이 필요하면
from SocketServer import ThreadingMixIn 
from SimpleXMLRPCServer import SimpleXMLRPCServer 

class MyXMLRPCServer(ThreadingMixIn, SimpleXMLRPCServer): 
    """...""" 
1

당신이 걸릴 수 있습니다 : 당신은 다중 스레드 방식으로 요청을 처리 할 수있는 믹스 인을 추가해야 Pythomnic 프레임 워크를 살펴보십시오.

관련 문제