Thanks for the prompt response. I am aware of the problems with using
SQLObject in a multi-process environment
so mod_wsgi was configured to run in daemon mode. I'm not entirely
familiar with apache configuration so I am guessing the daemon
process is running as Apache user since I did not explicitly set that
configuration option.
I did discover an issue in the my code which lead to the error when
mod_wsgi is enabled. I loaded a dictionary of SQLObject instances at
module scope in a controller module in order to avoid hitting the
database with each request. This dictionary of course persists across
transactions so perhaps that indicates something. To resolve the
issue, I simply copied the data into
wrapper objects in order to disconnect the data from the SQLObject
machinery. That did the trick, however, I am a curious to know if
there is a more intelligent solution. It is worth pointing out that I
did set cacheValues=False in the SQLObject class definition and that
did not solve the problem.
The apache configuration is as follows(purged of sensitive details of
course):
WSGIDaemonProcess site-1 threads=25
WSGIProcessGroup site-1
Alias /static /project_dir/static
WSGIScriptAlias / /project_dir/project.wsgi
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [EMAIL PROTECTED]
DocumentRoot /project_dir
# Possible values include: debug, info, notice, warn, error,
crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
<Directory /project_dir>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Thanks for your help!
On Mar 28, 10:48 pm, Graham Dumpleton <[EMAIL PROTECTED]>
wrote:
> On Mar 29, 10:17 am, vandevel <[EMAIL PROTECTED]> wrote:
>
> > I am wondering if anyone has experienced database transaction problems
> > usingmod_wsgi1.3.
> > My turbogears project is based on TG 1.0.4.4 using SQLObject and I am
> > observing this error when executing some controller methods:
>
> > AssertionError: This transaction has already gone through ROLLBACK;
> > begin another transaction.
>
> > This only occurs when running the app behindmod_wsgi, however it is
> > not a problem when running the app straight from cherrypy.
> > Clearly,mod_wsgiis doing something which causes the app to behave in this
> > manner.
>
> More information required.
>
> Are you running your application in embedded mode of mod_wsgi or in
> daemon mode? If in embedded mode, you did read about the problems with
> SQLObject and multiprocess web servers in:
>
> http://code.google.com/p/modwsgi/wiki/IntegrationWithTurboGears
>
> If running in daemon mode, are you running it as Apache user, or did
> you configure daemon process to run as you? Also, if in daemon mode,
> how many processes did you set for the daemon process group. Like
> above, if more than one and using multiprocess server, there can be
> issues, although it shouldn't be what you are seeing.
>
> Anyway, post what the mod_wsgi configuration you are using is from
> your Apache configuration.
>
> Grahamth
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---