突然忽略缓存设置?

问题描述

| 我正在使用肥皂水0.3.8,Python 2.4.3和Django 1.1.1。我继承的代码对高速缓存的文件的持续时间很长,但是它的认频率为每24小时一次。托管模式的外部服务器参差不齐,因此该站点每天晚上都将关闭,我一头雾水。 知道这段代码中包含了什么吗?
imp = Import(\'http://domain2.com/url\')
imp.filter.add(\'http://domain3.com/url\')
imp.filter.add(\'http://domain4.com/url\')
imp.filter.add(\'http://domain5.com/url\')
d = ImportDoctor(imp)

url = \"http://domain.com/wsdl\"
client = Client(url,doctor=d,timeout=30)
clientcache = client.options.cache
clientcache.setduration(days=360)
    

解决方法

        回答我自己的问题: 这最终不是版本问题,而是用户错误。不幸的是,肥皂水文档不够清晰。阅读它,人们会认为上面的代码可以工作,但是(在suds v0.39 +上)应该写成:
imp = Import(\'http://domain2.com/url\')
imp.filter.add(\'http://domain3.com/url\')
imp.filter.add(\'http://domain4.com/url\')
imp.filter.add(\'http://domain5.com/url\')
d = ImportDoctor(imp)

oc = ObjectCache()
oc.setduration(days=360)

url = \"http://domain.com/wsdl\"
client = Client(url,doctor=d,cache=oc,timeout=30)
现在来看,完全有意义的是必须在初始化客户端之前配置缓存。 希望这将对尝试设置suds缓存的其他人有所帮助,并且似乎正在忽略您的设置。     ,        问题可能是Suds 0.3.8中的默认缓存类型缺乏适当的支持,甚至可能是此版本中的错误。如果您能够升级到Suds 0.3.9或更高版本(最新版本是0.4),则可以使此行为按预期方式工作。