Changeset 5773 for qesdi


Ignore:
Timestamp:
28/09/09 14:16:55 (10 years ago)
Author:
pnorton
Message:

Modified the beaker cache decorator that comes with pylons so that it includes response content written to response.write(). Added this decorator to a number of controllers to try and improve the performacne.

Location:
qesdi/wms_ddc_vis/trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • qesdi/wms_ddc_vis/trunk/development.ini

    r5734 r5773  
    2525cache_dir = %(here)s/data 
    2626 
     27cache_enabled = True 
     28 
    2729############################################################################## 
    2830# COWS configuration 
     
    4244cows.csml.legendfont = /usr/share/fonts/truetype/luxisr.ttf 
    4345 
    44 #modis file options 
    45 cows.modis.modis_variable = landtype  
    46 cows.modis.modis_file = /data/pnorton/qesdi_data/modis/MCD12Q1_10min/MODIS_classification_IGBP.nc 
    47  
     46cows.browser_caching_enabled = false 
    4847 
    4948#switches the demo to the wmsviz page 
     
    6867# Logging configuration 
    6968[loggers] 
    70 keys = root,paste,pylons,routes,cows,geoplot,cows_wms,cows_ows,cows_imps,cows_wcs,wms_request 
     69keys = root,paste,pylons,routes,cows,geoplot,cows_wms,cows_ows,cows_imps,cows_wcs,wms_request, beaker 
    7170 
    7271[handlers] 
     
    129128 
    130129[logger_geoplot] 
    131 level = DEBUG 
     130level = INFO 
    132131handlers = console 
    133132propagate = 0 
     
    139138propagate = 0 
    140139qualname = wms_request 
     140 
     141[logger_beaker] 
     142level = INFO 
     143handlers = console 
     144propagate = 0 
     145qualname = beaker 
     146 
    141147 
    142148[handler_console] 
  • qesdi/wms_ddc_vis/trunk/lib/wms_ddc_vis/controllers/coastwms.py

    r5762 r5773  
    3232from cows.xml.iso19115_subset import OnlineResource 
    3333 
     34from wms_ddc_vis.lib.modified_beaker_cache_decorator import beaker_cache 
     35 
    3436log = logging.getLogger(__name__) 
    3537 
     
    176178            return dimName 
    177179         
    178      
     180    @beaker_cache(expire=600, query_args=True) 
    179181    def GetMap(self):         
    180182        st = time.time() 
    181  
    182183 
    183184        parser = SlabOptionsParser(CoastwmsController.renderingOptions, request.params) 
     
    218219  
    219220        longResolution = parser.getOption('resolution') 
    220         log.debug("longResolution = %s" % (longResolution,)) 
     221        #log.debug("longResolution = %s" % (longResolution,)) 
    221222        resMap = {'coarse':'c', 
    222223                  'low':'l', 
     
    228229        resolution = resMap[longResolution] 
    229230          
    230         log.debug("resolution = %s" % (resolution,)) 
     231        #log.debug("resolution = %s" % (resolution,)) 
    231232 
    232233        #make the colour compatable with matplotlib 
    233234        if bgcolor.find('0x') == 0: 
    234235            bgcolor = '#' + bgcolor[2:] 
    235         log.debug("bgcolor = %s" % (bgcolor,)) 
     236        #log.debug("bgcolor = %s" % (bgcolor,)) 
    236237        ldg = LayerDrawerCoastlines(transparent=transparent, 
    237238                                    resolution=resolution, 
     
    252253        try: 
    253254            ua = request.headers['User-Agent'] 
    254             log.debug("ua = %s" % (ua,)) 
     255            #log.debug("ua = %s" % (ua,)) 
    255256        except: 
    256257            pass 
     
    266267 
    267268         
    268         log.debug("got coastline in %s" % (time.time() - st,)) 
    269  
     269        #log.debug("got coastline in %s" % (time.time() - st,)) 
     270 
     271    @beaker_cache(expire=600, query_args=True) 
    270272    def GetContext(self): 
    271273        """ 
     
    315317            raise InvalidParameterValue('Format %s not supported' % format) 
    316318 
    317  
     319    @beaker_cache(expire=600, query_args=True) 
    318320    def GetDisplayOptions(self): 
    319321         
  • qesdi/wms_ddc_vis/trunk/lib/wms_ddc_vis/controllers/csmlwms3.py

    r5734 r5773  
    1616from wms_ddc_vis.lib.wms_request_log_utils import buildLogString, wms_request_logger 
    1717 
     18from wms_ddc_vis.lib.modified_beaker_cache_decorator import beaker_cache 
     19 
    1820log = logging.getLogger(__name__) 
    19  
    2021 
    2122class Csmlwms3Controller(WMSController): 
     
    3637        wms_request_logger.info( buildLogString(request) ) 
    3738        WMSController.__before__(self, **kwargs) 
    38      
     39         
     40#    @beaker_cache(expire=600, query_args=True) 
    3941    def GetDisplayOptions(self): 
    4042         
     
    5456        response.write( jsonString ) 
    5557    
    56     
     58#    @beaker_cache(expire=600, query_args=True) 
    5759    def GetFigure(self): 
    58          
     60        log.debug("entering GetFigure") 
    5961        #!TODO: clearup! 
    6062        # Get the parameters 
     
    164166             
    165167            self._writeImageResponse(img, format) 
    166              
     168         
     169        log.debug("dir(response) = %s" % (dir(response),)) 
     170        log.debug("id(response) = %s" % (id(response),)) 
     171         
    167172        log.debug("finished getFigure") 
     173     
     174#    @beaker_cache(expire=600, query_args=True) 
     175    def GetMap(self): 
     176        return WMSController.GetMap(self) 
     177     
     178#    @beaker_cache(expire=600, query_args=True) 
     179    def GetLegend(self): 
     180        return WMSController.GetLegend(self) 
     181     
     182#    @beaker_cache(expire=600, query_args=True) 
     183    def GetCapabilities(self): 
     184        return WMSController.GetCapabilities(self) 
    168185         
    169186    def _getLowerCaseParams(self): 
Note: See TracChangeset for help on using the changeset viewer.