Является ли библиотека Python SOAPpy поточно-ориентированной? - PullRequest
1 голос
/ 04 мая 2011

Насколько потокобезопасна библиотека SOAPpy для Python? Я нахожу документацию несуществующей и нигде не упоминаю о безопасности потоков (за или против).

В частности, могут ли потоки совместно использовать объект SOAPpy.SOAPProxy, вызывая различные RPC ? например,

client = SOAPpy.SOAPProxy(url)
thread1: client.MyFunc()
thread2: client.MyFunc()

Без вредных последствий?

Кроме того, стоит дорогое строительство прокси-объектов ?

1 Ответ

1 голос
/ 04 мая 2011

SOAPpy.SOAPProxy не выглядит поточно-ориентированным на первый взгляд.В методе версии 0.12.0 __call есть назначение (Client.py строка 360):

        r, self.namespace = self.transport.call(self.proxy, m, ns, sa,
                                                encoding = self.encoding,
                                             http_proxy = self.http_proxy,
                                                config = self.config)

Так что, если client.MyFunc() вызывается из 2 разных потоков, они будут создавать отдельные соединения, нооба будут присваивать значение атрибуту self.namespace.

С другой стороны, создание экземпляра SOAPProxy для каждого потока должно быть достаточно эффективным.Мне удалось создать 100 экземпляров за ~ 1 мс на виртуальной машине, что должно быть небольшим по сравнению с временем прохождения запроса SOAP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...