Из-за возможности взаимодействия мне нужно развернуть приложение как веб-службу. Для этого я использую Spyne (http://spyne.io/), фреймворк python для ws. Пока все хорошо.
Однако сервис получит сразу несколько запросов. Следовательно, мне нужно повысить производительность, поскольку запрос выполняет несколько задач ввода-вывода (база данных, файл).
Следующий пример кода ie базовая c веб-служба в Spyne. Исходя из этого, поддерживает ли Spyne пул потоков или потоки? Как я могу активировать или объединить сервис в несколько потоков? Если это невозможно, как я могу добиться этого с помощью библиотеки потоков Python?
Заранее спасибо.
from spyne import Application, rpc, ServiceBase, Integer
from spyne.protocol.soap import Soap11
from spyne.server.wsgi import WsgiApplication
class HelloWorldService(ServiceBase):
@rpc(Integer, Integer, _returns=Integer)
def multiply(ctx, a, b):
return a * b
application = Application([HelloWorldService],
tns='spyne.multiply',
in_protocol=Soap11(validator='lxml'),
out_protocol=Soap11()
)
if __name__ == '__main__':
# You can use any Wsgi server. Here, we chose
# Python's built-in wsgi server but you're not
# supposed to use it in production.
from wsgiref.simple_server import make_server
wsgi_app = WsgiApplication(application)
server = make_server('0.0.0.0', 8000, wsgi_app)
server.serve_forever()