durusmail: quixote-users: Call for applications
Call for applications
2002-08-30
2002-08-30
2002-09-04
2002-09-04
2002-09-04
2002-09-05
2002-09-04
2002-09-04
2002-09-04
2002-09-04
2002-09-04
2002-09-04
2002-09-04
Adding access control code (was Re: Call for applications)
2002-09-04
Re: query string handling
2002-09-04
Call for applications
Titus Brown
2002-09-04
-> > -> Otherwise, in a multi-threaded server environment, you can still get
nailed
-> > -> by the "they hit submit twice" problem.
-> >
-> > I don't see how this can happen with the current methods of publishing
-> > Quixote apps, because there is only ever one Publisher, and a single
process
-> > handling it.  What am I missing? ;)
->
-> If you're running a big server under mod_python, you can have a large
-> number of server processes running simultaneously.  Lots of publishers, and
-> easy race conditions when somebody double-clicks on that submit button.

Oh, right.  Sorry ;).

I don't think it's possible to fix this problem for mod_python, however,
without introducing some pretty heinous extraneous interprocess communication.
Under mod_python in Apache 1.x, you have multiple processes, each running
a Python interpreter; there's no way for them to talk to one another that
I know of.

I think it's easy enough to hack something together to solve this problem
on the database side (e.g. keep track of processed Web transactions with a
unique ID, and mark them as having been committed/not committed) but it's
not clear to me how to do it *efficiently*.

cheers,
--titus


reply