@@ -169,7 +169,7 @@ def log_access(self):
169169 self .__log (self .config ['log.access.format' ].format (** params ), self .channels .access )
170170
171171 def log_event (self , event ):
172- self .__log ('%s: %s' % (event .__class__ .ename (), event .to_api ()))
172+ self .__log ('%s: %s' % (event .__class__ .ename (), event .to_api ()), self . channels . events )
173173
174174class HeaderMap (UserDict .UserDict ):
175175 """
@@ -419,6 +419,8 @@ def __init__(self):
419419 self .location = None
420420 self .time = hruntime .time
421421
422+ self .api_response = None
423+
422424 self ._output = None
423425 self .output_length = None
424426
@@ -506,23 +508,27 @@ def dumps(self):
506508
507509class DataBaseGCTask (hlib .scheduler .Task ):
508510 def __init__ (self ):
509- super (DataBaseGCTask , self ).__init__ ('database-gc' , self .database_gc , min = [ 5 , 25 , 45 ] )
511+ super (DataBaseGCTask , self ).__init__ ('database-gc' , self .database_gc , min = range ( 5 , 60 , 20 ) )
510512
511513 def database_gc (self , engine = None , app = None ):
512- for app in engine .apps .values ():
513- if app .db != None and app .db .is_opened :
514- app .db .globalGC ()
514+ if app .db != None and app .db .is_opened :
515+ app .db .globalGC ()
515516
516517class SaveSessionsTask (hlib .scheduler .Task ):
517518 def __init__ (self ):
518- super (SaveSessionsTask , self ).__init__ ('save-sessions' , self .save_sessions , min = [ 10 , 30 , 50 ] )
519+ super (SaveSessionsTask , self ).__init__ ('save-sessions' , self .save_sessions , min = range ( 10 , 60 , 20 ) )
519520
520521 def save_sessions (self , engine = None , app = None ):
521- print 'Save sessions task triggered'
522+ if app .sessions != None :
523+ app .sessions .save_sessions ()
524+
525+ class PurgeSessionsTask (hlib .scheduler .Task ):
526+ def __init__ (self ):
527+ super (PurgeSessionsTask , self ).__init__ ('purge-sessions' , self .purge_sessions , min = range (0 , 60 , 5 ))
522528
523- for app in engine . apps . values ( ):
524- if app .sessions != None :
525- app .sessions .save_sessions ()
529+ def purge_sessions ( self , engine = None , app = None ):
530+ if app .sessions != None :
531+ app .sessions .purge ()
526532
527533class Engine (object ):
528534 """
@@ -545,6 +551,7 @@ def __init__(self, name, server_configs):
545551 self .scheduler .start ()
546552
547553 self .scheduler .add_task (DataBaseGCTask (), None )
554+ self .scheduler .add_task (PurgeSessionsTask (), None )
548555 self .scheduler .add_task (SaveSessionsTask (), None )
549556
550557 i = 0
@@ -661,14 +668,14 @@ def on_request_connected(self, _):
661668 with STATS :
662669 STATS .inc (self .stats_name , 'Total requests' )
663670
664- STATS .set (self .stats_name , 'Requests' , hruntime .tid , {
665- 'Bytes read' : 0 ,
666- 'Bytes written' : 0 ,
667- 'Client' : hlib .server .ips_to_str (hruntime .request .ips ),
668- 'Start time' : hruntime .time ,
669- 'Requested line' : None ,
670- 'User' : None
671- } )
671+ STATS .set (self .stats_name , 'Requests' , hruntime .tid , OrderedDict ([
672+ ( 'Bytes read' , 0 ) ,
673+ ( 'Bytes written' , 0 ) ,
674+ ( 'Client' , hlib .server .ips_to_str (hruntime .request .ips ) ),
675+ ( 'Start time' , hruntime .time ) ,
676+ ( 'Requested line' , None ) ,
677+ ( 'User' , None )
678+ ]) )
672679
673680 def on_request_accepted (self , _ ):
674681 STATS .set (self .stats_name , 'Requests' , hruntime .tid , 'Client' , hlib .server .ips_to_str (hruntime .request .ips ))
0 commit comments