[Zope-Checkins] CVS: Zope/lib/python/Products/Transience/help - Transience-add.stx:1.6.144.1 Transience-change.stx:1.8.144.1 TransienceInterfaces.py:1.9.68.1

Chris McDonough chrism at plope.com
Sat May 22 23:52:27 EDT 2004


Update of /cvs-repository/Zope/lib/python/Products/Transience/help
In directory cvs.zope.org:/tmp/cvs-serv16636/lib/python/Products/Transience/help

Modified Files:
      Tag: Zope-2_7-branch
	Transience-add.stx Transience-change.stx 
	TransienceInterfaces.py 
Log Message:
- Add "instance-local" "period" to TransientObjectContainer.  This allows
  users to dial a knob which may (or may not) reduce the number of conflicts
  that happen during heavy sessioning usage by reducing the frequency at
  which buckets potentially expire at the cost of expiration time
  accuracy.  Previously, this setting was hardcoded to 20 (seconds) at
  module scope.

- Add 'session-resolution-seconds' to zope.conf.in/zopeschema.xml to
  control instance-local period for /temp_folder/session_data.

- Update TOC UI, interface, and help files to deal with instance-local
  period.

- Update OFS/Application to deal with instance-local period for default
  /temp/session_data TOC.

- Use __setstate__ for TOC upgrade instead of a dedicated _upgrade method
  (it was too hard to figure out where to call _upgrade from and when to
  call it).

- Perform a few formatting changes that should make it easier to merge the 2.7
  branch with the HEAD going forward.  I beseech those who make formatting
  changes to a branch or the HEAD make them to the other at that time
  as well, especially with the SVN/CVS split it's very painful to do merging
  when there are non-substantive differences between HEAD/maint.  When I was
  a child, I never thought I would need to use the word "beseech", however, it
  has indeed happened.



=== Zope/lib/python/Products/Transience/help/Transience-add.stx 1.6 => 1.6.144.1 ===
--- Zope/lib/python/Products/Transience/help/Transience-add.stx:1.6	Mon Nov 26 15:59:11 2001
+++ Zope/lib/python/Products/Transience/help/Transience-add.stx	Sat May 22 23:51:56 2004
@@ -23,13 +23,23 @@
 
        The title of the object.
 
-     - **Data object timeout in minutes**
+     - **Data object timeout (in minutes)**
 
        The minimum number of minutes that objects in the container will
        persist for.  Objects in the container are passively deleted, so
        they may not be deleted exactly after this number of minutes elapses.
        A setting of "0" indicates that objects should not expire.
 
+     - **Timeout resolution (in seconds)**
+
+       Defines what the "resolution" of item timeout is. Setting this
+       higher allows the transience machinery to do fewer "writes" at
+       the expense of causing items to time out later than the "Data
+       object timeout value" by a factor of (at most) this many
+       seconds. This number must divide evenly into the number of
+       timeout seconds ("Data object timeout value" * 60) and cannot
+       be set higher than the timeout value in seconds.
+       
      - **Maximum number of subobjects **
 
        The maximum number of subobjects that this container may


=== Zope/lib/python/Products/Transience/help/Transience-change.stx 1.8 => 1.8.144.1 ===
--- Zope/lib/python/Products/Transience/help/Transience-change.stx:1.8	Mon Nov 26 15:59:11 2001
+++ Zope/lib/python/Products/Transience/help/Transience-change.stx	Sat May 22 23:51:56 2004
@@ -23,7 +23,7 @@
 
        The title of the object.
 
-     - **Data object timeout in minutes**
+     - **Data object timeout (in minutes)**
 
        The minimum number of minutes that objects in the container will
        persist for.  Objects in the container are passively deleted, so
@@ -34,6 +34,16 @@
 
        If the timeout value is "0", objects will not time out.
 
+     - **Timeout resolution (in seconds)**
+
+       Defines what the "resolution" of item timeout is. Setting this
+       higher allows the transience machinery to do fewer "writes" at
+       the expense of causing items to time out later than the "Data
+       object timeout value" by a factor of (at most) this many
+       seconds. This number must divide evenly into the number of
+       timeout seconds ("Data object timeout value" * 60) and cannot
+       be set higher than the timeout value in seconds.
+
      - **Maximum number of subobjects **
 
        The maximum number of subobjects that this container may
@@ -91,11 +101,6 @@
              def deleteScript(item, container):
                  from zLOG import LOG
                  LOG(100, 'test', 'id: %s' % item.getId())
-
-  Environment Variables
-
-    You can control some transient object settings with environment
-    variables. See 'doc/ENVIORNMENT.txt' for more informatin.
 
   See Also
 


=== Zope/lib/python/Products/Transience/help/TransienceInterfaces.py 1.9 => 1.9.68.1 ===
--- Zope/lib/python/Products/Transience/help/TransienceInterfaces.py:1.9	Wed Aug 14 18:25:14 2002
+++ Zope/lib/python/Products/Transience/help/TransienceInterfaces.py	Sat May 22 23:51:56 2004
@@ -80,10 +80,12 @@
         Permission -- 'Create Transient Objects'
         """
 
-    def setTimeoutMinutes(self, timeout_mins):
+    def setTimeoutMinutes(self, timeout_mins, period=20):
         """
         Set the number of minutes of inactivity allowable for subobjects
-        before they expire.
+        before they expire (timeout_mins) as well as the 'timeout resolution'
+        in seconds (period).  'timeout_mins' * 60 must be evenly divisible
+        by the period.  Period must be less than 'timeout_mins' * 60.
 
         Permission -- 'Manage Transient Object Container'
         """
@@ -92,6 +94,13 @@
         """
         Return the number of minutes allowed for subobject inactivity
         before expiration.
+
+        Permission -- 'View management screens'
+        """
+
+    def getPeriodSeconds(self):
+        """
+        Return the 'timeout resolution' in seconds.
 
         Permission -- 'View management screens'
         """




More information about the Zope-Checkins mailing list