[Checkins] SVN: zc.async/branches/dev/s use new zc.twist with better retry behavior

Gary Poster gary at zope.com
Thu Jun 19 17:36:25 EDT 2008


Log message for revision 87568:
  use new zc.twist with better retry behavior

Changed:
  U   zc.async/branches/dev/setup.py
  U   zc.async/branches/dev/src/zc/async/CHANGES.txt
  U   zc.async/branches/dev/src/zc/async/job.py

-=-
Modified: zc.async/branches/dev/setup.py
===================================================================
--- zc.async/branches/dev/setup.py	2008-06-19 21:28:31 UTC (rev 87567)
+++ zc.async/branches/dev/setup.py	2008-06-19 21:36:25 UTC (rev 87568)
@@ -94,7 +94,7 @@
         'uuid',
         'zc.queue',
         'zc.dict>=1.2.1',
-        'zc.twist>=1.2',
+        'zc.twist>=1.3',
         'Twisted>=8.0.1', # 8.0 was setuptools compatible, 8.0.1 had bugfixes.
         # note that Twisted builds with warnings with py2.4.  It
         # seems to still build ok.

Modified: zc.async/branches/dev/src/zc/async/CHANGES.txt
===================================================================
--- zc.async/branches/dev/src/zc/async/CHANGES.txt	2008-06-19 21:28:31 UTC (rev 87567)
+++ zc.async/branches/dev/src/zc/async/CHANGES.txt	2008-06-19 21:36:25 UTC (rev 87568)
@@ -48,6 +48,8 @@
   state of the parent DispatcherAgents collection to the database whenever the
   atom changed.
 
+- Depends on new release of zc.twist (1.3)
+
 1.1.1 (2008-05-14)
 ==================
 

Modified: zc.async/branches/dev/src/zc/async/job.py
===================================================================
--- zc.async/branches/dev/src/zc/async/job.py	2008-06-19 21:28:31 UTC (rev 87567)
+++ zc.async/branches/dev/src/zc/async/job.py	2008-06-19 21:36:25 UTC (rev 87568)
@@ -666,10 +666,9 @@
             res.addCallback(self._callback)
             callback = False
         elif isinstance(res, twisted.internet.defer.Deferred):
-            res.addBoth(zc.twist.Partial(self._callback))
-            # TODO need to tell Partial to retry forever: currently no
-            # spelling for this in zc.twist.  This makes using deferreds
-            # less reliable: _callback *must* be called.
+            partial = zc.twist.Partial(self._callback)
+            partial.max_transaction_errors = None # retry conflicts forever
+            res.addBoth(partial)
             callback = False
         else:
             if isinstance(res, twisted.python.failure.Failure):



More information about the Checkins mailing list