繁体   English   中英

Python SOAP Service,一种很好的多线程/多进程方式

[英]Python SOAP Service, A good multithread/multiprocess way

我正在使用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()

问题在于这不是多线程的,因此它不能处理多个客户端。 我在谷歌上搜索了一下,我想我必须将apache / mod_wsgi与类似Django的东西一起使用才能拥有多线程/多进程服务器。 但这对于我的应用程序来说有点复杂。

我只需要一个Web服务,就多线程/多处理而言尽可能地轻便。 我有什么选择?

提前致谢

我可以推荐Twisted和CherryPy,它们都提供不错的Wsgi实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM