I've built a rather complex OLTP application using Apache, Zope, and
Oracle (with DCOracle2 linking the latter two). I occasionally perform
lengthy database updates in the background and, during that time,
someone inevitably requests a page that updates a record that has been
locked by the background update. The result, of course, is that the
requested page does not render until the background update is
complete. Either that or the browser simply times out.
For better or for worse, I can live with the situation I've just
described. However, the problem I'm having is that it's not just the
"update request" that hangs. Rather, it's the whole Zope that hangs
until this one request has been satisfied. Thus, the implication would
seem to be that, at least in this configuration, Zope can't handle
concurrent requests. This seems rather mystifying given the "threads"
parameter in the config file so, before I give up, I thought I'd ask
others whether there's a solution to this problem. And lest it be
unclear, that problem would be, How do I allow Zope to continue
rendering requests while one request waits for a very long time to
receive its data from Oracle?
Many thanks in advance to anyone who so much as contemplates this
situation on my behalf...
Zope-DB mailing list