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.