Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django中共享后台进程?_Python_Django_Soap_Suds - Fatal编程技术网

Python 在django中共享后台进程?

Python 在django中共享后台进程?,python,django,soap,suds,Python,Django,Soap,Suds,我的django应用程序使用suds-jurko库与SOAP服务对话 from suds.client import Client try: URL = "http://192.168.12.11/xdwq/some_service.asmx?WSDL" client = Client(URL, timeout=30) except: # Fallback mode pass def get_data(ID): try: respon

我的django应用程序使用
suds-jurko
库与SOAP服务对话

from suds.client import Client try: URL = "http://192.168.12.11/xdwq/some_service.asmx?WSDL" client = Client(URL, timeout=30) except: # Fallback mode pass def get_data(ID): try: response = client.service.GetData(ID) data = response.diffgram.NewDataSet.master return data except: return None 问题是该服务需要相当长的时间来初始化(约20秒)。后续请求最多需要3秒钟才能返回。每当请求页面时,Web服务器(带有mod_wsgi的apache)都会花费相当长的时间来加载某些请求

在我的apache配置中

WSGIDaemonProcess www.example.com user=hyde group=hyde threads=15 maximum-requests=10000
如何编写代码,以便apache(或django)能够为SOAP服务共享一个后台进程,并将30秒的代价降到最低


我一直在读芹菜和其他类似的方法,但不确定如何继续。请告知。

您必须使用纯python或某些第三方模块(如前面提到的芹菜)创建单独的后台进程,并从django视图(例如使用unix或tcp套接字)与该进程通信

另外,您可以使用不同的方法来代替WSGI来服务将在内存中持久化的django应用程序(gunicorn,uwsgi),但这确实是一个肮脏的解决方案,我不建议这样做

WSGIDaemonProcess www.example.com user=hyde group=hyde threads=15 maximum-requests=10000