[Erp5-report] r22386 - /erp5/trunk/products/TimerService/TimerService.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jul 9 16:13:32 CEST 2008


Author: vincent
Date: Wed Jul  9 16:13:32 2008
New Revision: 22386

URL: http://svn.erp5.org?rev=22386&view=rev
Log:
Add a "process_shutdown" method to be invoked asynchronously by a tic in every shutdown phase (see Lifetime.py) when Zope shutdown sequence is runing.

Modified:
    erp5/trunk/products/TimerService/TimerService.py

Modified: erp5/trunk/products/TimerService/TimerService.py
URL: http://svn.erp5.org/erp5/trunk/products/TimerService/TimerService.py?rev=22386&r1=22385&r2=22386&view=diff
==============================================================================
--- erp5/trunk/products/TimerService/TimerService.py (original)
+++ erp5/trunk/products/TimerService/TimerService.py Wed Jul  9 16:13:32 2008
@@ -50,6 +50,26 @@
         self._subscribers = []
         self._version = 1
     
+    security.declarePublic('process_shutdown')
+    def process_shutdown(self, phase, time_in_phase):
+        """ """
+        subscriptions = []
+        try:
+          subscriptions = [self.unrestrictedTraverse(path)
+                           for path in self._subscribers]
+        except KeyError:
+          pass
+        for subscriber in subscriptions:
+            process_shutdown = getattr(subscriber, 'process_shutdown', None)
+            if process_shutdown is not None:
+                try:
+                    subscriber.process_shutdown(phase=phase,
+                        time_in_phase=time_in_phase)
+                except:
+                    LOG('TimerService', ERROR, 'Process shutdown error',
+                        error = sys.exc_info())
+                    raise
+
     security.declarePublic('process_timer')
     def process_timer(self, interval):
         """ """




More information about the Erp5-report mailing list