[Zope] How to commit a piece of data in a transaction when the transaction is being aborted later

William Heymann kosh at aesaeion.com
Wed Jun 21 04:15:57 EDT 2006


On Wednesday 21 June 2006 01:17, Tino Wildenhain wrote:
> William Heymann schrieb:

> > That is probably a good idea for long term to change things that way and
> > I would like to rewrite it. However right now I don't really want to
> > rewrite the way the current system works. I had hoped I could just use
> > get_transaction().commit() almost immediately after seeing the data from
> > Verisign.
>
> The problem is, there is no garanty about success of that transaction
> either. So if it rolls back, what do you do with verysign?
> Maybe a fifo logfile could solve your problem.

Actually that is not a problem. If just trying to write the data causes a 
failure then verisign won't ok the transaction which is the point. However 
what I want to happen is for the system to try and make sure as much as 
possible that the data that verisign sends gets written and committed before 
it tries to do other stuff. If that simple step should fail then there is a 
very seroius problem occurring and the system should not be okaying any 
orders. 

The thing with Verisign is called a silent post confirmation. Before verisign 
will okay a customer transaction it sends a post to my server with various 
details and my code will look over that and decide if it is all ok. A 
response code of 200 means ok, anything else means failure. Thus any uncaught 
error in zope will cause the transaction to fail which is the point. 

I just want to try and record the data that verisign sent and commit it before 
I try the rest so that what if something later should cause it to fail I 
still have a record of the commands send. Right now I am essentially writing 
the data to an OOBTree object.


More information about the Zope mailing list