0
SOAP 서비스를 구현하기 위해 Spyne를 사용하고 있습니다.좋은 멀티 스레드/멀티 프로세스 방식의 파이썬 SOAP 서비스
이 서비스는 내장 된 wsgi 서버를 사용하여 실행됩니다. 다음은 코드입니다.
# Logging
import logging
logging.basicConfig(level=logging.DEBUG)
logging.raiseExceptions = 0
# Spyne imports
from spyne.application import Application
from spyne.decorator import srpc
from spyne.service import ServiceBase
from spyne.model.primitive import *
from spyne.model.complex import *
from spyne.protocol.soap import Soap11
from spyne.server.wsgi import WsgiApplication
class HelloWorldService (ServiceBase):
@srpc(Unicode, _returns=Unicode)
def add_job(nfs_path):
print('Job added: {0}'.format(nfs_path))
return 'OK'
from wsgiref.simple_server import make_server
application = Application([HelloWorldService], tns='job.service',
in_protocol=Soap11(validator='lxml'),
out_protocol=Soap11())
wsgi_app = WsgiApplication(application)
server = make_server('0.0.0.0', 1369, wsgi_app)
server.serve_forever()
문제는 다중 스레드가 아니므로 여러 클라이언트를 처리 할 수 없다는 것입니다. 나는 이것에 대해 조금 봤고 아파치/mod_wsgi Django와 같은 멀티 스레드/다중 처리 서버를 가지고 사용해야한다고 생각합니다. 하지만 그건 내 응용에 약간 복잡합니다.
웹 서비스는 멀티 스레딩/멀티 프로세싱과 함께 가능한 한 가볍습니다. 내가 가질 수있는 선택은 무엇입니까? 사전