To be perfectly honest I'm not that familiar with the details of setting up
Apache and multiple hosts.

I was speaking to someone about this very same issue and this is what they
said -

" made each apache VHOST that is running satchmo as as WSGI daemon process
with unique process group and problem went away."

So, I think you're on the right track but can't give you anymore specific
details since that's not my area of expertise.

-Chris

On Mon, Jun 14, 2010 at 5:56 PM, Stuart <[email protected]> wrote:

> Well, I still don't have this problem resolved, but I suppose I'm
> getting closer all the time.
>
> Today I found an old thread that may very well describe the identical
> problem I'm having.
>
>   http://groups.google.com/group/satchmo-users/msg/e78f589100e722f8
>
> Corey Oordt's reply indicates that what I'm up against might be a bug
> in psycopg2 that manifests when running multiple django sites on the
> same server against the same instance of psycopg2. Corey suggests that
> he got around the problem by running mod_wsgi in daemon mode (rather
> than default embedded mode, I gather) and using virtualenv. I've been
> using virtualenv from the start, but I have both satchmo sites running
> out of the same virtualenv. I wonder if what he's describing implies
> that each site should have its own virtualenv..? Corey, if you're out
> there, I'd be extremely grateful for any additional information.
>
> Also, I'm having a difficult time figuring out how to get mod_wsgi
> into daemon mode. It seems that all I really need to do is add
> WSGIDaemonProcess and WSGIProcessGroup settings to my httpd.conf, but
> I've done that and it doesn't appear to change anything. Need to read
> more docs, I reckon.
>
> I have to say, figuring out this error has been the low point of my
> django career thus far, and incredibly boring (my love for django is
> pretty much untarnished, though). I think I need a django mentor to
> teach me things like how track down what's going wrong in situations
> like this. The interactions between apache, wsgi, django, psycopg2,
> etc are fuzzy to me. Bruce, is this why you run lighttpd+fastcgi?? If
> switching would make this problem go away, I'm game and getting gamer
> all the time. ;)
>
>
> --Stuart
>
>
> On Jun 14, 11:10 am, Stuart Laughlin <[email protected]> wrote:
> > Chris, thanks for the response. Good idea about watching the postgres
> > logs; I'm going to look at that right now.
> >
> > Caching sounds like a likely culprit to me, too. Do you have any ideas
> > for how I could prove/disprove that? Can I turn off caching entirely?
> > Presently I'm using memcached, in conjunction with the UpdateCache and
> > FetchFromCache middleware.
> >
> > Another data point: the thing that seems to distinguish my satchmo
> > implementation from 'normal' ones is that I have two sites (two django
> > projects) on my apache server. They are both operating out of the same
> > virtualenv against a single installation of satchmo. I bring it up
> > because the 'random' nature of the error feels kind of like a
> > threading issue.
> >
> > --Stuart
> >
> > On Sat, Jun 12, 2010 at 12:11 PM, Chris Moffitt <[email protected]>
> wrote:
> > > Do you see anything in your postgres logs? Sounds like some sort of
> caching
> > > issue but I'm guessing.
> >
> > > -Chris
> >
> > > On Thu, Jun 10, 2010 at 12:29 PM, Stuart Laughlin <
> [email protected]>
> > > wrote:
> >
> > >> I fear I type too much. Let me try this a different way.
> >
> > >> I have a template tag (discount_price) that intermittently breaks --
> > >> throws a ProgrammingError with "Error in formatting: couldn't adapt"
> > >> message (debian stable, apache2, mod-wsgi, satchmo 0.9.1. stable). I
> > >> don't know what causes it to happen. Restarting the server makes the
> > >> problem go away. While the problem is happening, I can fire up the
> > >> django shell and invoke the template tag with no problems. It seems it
> > >> must have something to do with the apache process's connection to the
> > >> postgresql database.
> >
> > >> Has anyone seen anything like this before?
> >
> > >> --Stuart
> >
> > >> On Wed, Jun 9, 2010 at 11:31 PM, Stuart Laughlin <
> [email protected]>
> > >> wrote:
> > >> > Hello Everyone --
> >
> > >> > I have a recurring intermittent problem that I've been battling off
> > >> > and on for the past few months. The error initially manifests itself
> > >> > as a ProgrammingError in the product template on the bit that says
> "{{
> > >> > product|discount_price:sale|currency }}". I've been dealing with it
> up
> > >> > till now by commenting it out, avoiding using the discount_price
> > >> > template tag, etc. Finally I resolved to get to the bottom of it and
> > >> > added some logging to the get_product view. Well, the only effect
> that
> > >> > had was to move the origin of the error from the template to my
> > >> > logging statement in the view (but at least it seems like I get a
> > >> > better stack trace when the error happens in the view!).
> >
> > >> > At any rate, I'm looking at my stack trace, and I think I understand
> > >> > what's happening. My logging statement in the get_product() view
> > >> > throws an error when I invoke the discount_price template-tag
> method:
> >
> > >> >   log.debug("product|discount_price:sale is %s" %
> > >> > discount_price(product, best_discount))
> >
> > >> > The error appears to actually occur in product/prices.py on line 14
> > >> > here:
> >
> > >> >   8.  qty_discounts = product.price_set.exclude(
> > >> >   9. expires__isnull=False,
> > >> >  10. expires__lt=datetime.date.today()).filter(quantity__lte=qty)
> > >> >  11.
> > >> >  12. adjustments = None
> > >> >  13.
> > >> >  14. if qty_discounts.count() > 0:
> > >> >  15. # Get the price with the quantity closest to the one specified
> > >> > without going over
> > >> >  16. adjustments = qty_discounts.order_by('price','-quantity',
> > >> > 'expires')[0].adjustments(product)
> >
> > >> > Line 14 executes the query defined in lines 8-10, and qty_discounts
> > >> > ends up being set to "Error in formatting: can't adapt".
> >
> > >> > At the moment I'm getting this error every time I navigate to a
> > >> > product (which obviously invokes my get_product view). I suspect
> that
> > >> > when I restart apache, the error will go away.
> >
> > >> > But here's the really odd thing: I can use "manage.py" to fire up
> the
> > >> > shell and run the discount_price template tag with no problems, even
> > >> > though I'm running it exactly like I am in the logging statement. So
> I
> > >> > find this very puzzling. Has anyone seen anything like this? I'm
> > >> > really hoping someone can point me in the right direction.
> >
> > >> > Oh, and I'm on version 0.9.1 final.
> >
> > >> > Full traceback follows my signature.
> >
> > >> > Thanks very much!
> >
> > >> > --Stuart
> >
> > >> > Environment:
> >
> > >> > Request Method: GET
> > >> > Request URL:
> > >> >http://10.10.20.20/vw/product/basic-black-center-console-304734/
> > >> > Django Version: 1.1.1
> > >> > Python Version: 2.5.2
> > >> > Installed Applications:
> > >> > ['django.contrib.sites',
> > >> >  'satchmo_store.shop',
> > >> >  'django.contrib.admin',
> > >> >  'django.contrib.auth',
> > >> >  'django.contrib.admindocs',
> > >> >  'django.contrib.contenttypes',
> > >> >  'django.contrib.comments',
> > >> >  'django.contrib.sessions',
> > >> >  'django.contrib.sitemaps',
> > >> >  'registration',
> > >> >  'keyedcache',
> > >> >  'livesettings',
> > >> >  'l10n',
> > >> >  'sorl.thumbnail',
> > >> >  'satchmo_store.contact',
> > >> >  'tax',
> > >> >  'tax.modules.no',
> > >> >  'tax.modules.area',
> > >> >  'tax.modules.percent',
> > >> >  'shipping',
> > >> >  'product',
> > >> >  'product.modules.configurable',
> > >> >  'payment',
> > >> >  'payment.modules.dummy',
> > >> >  'payment.modules.giftcertificate',
> > >> >  'satchmo_utils',
> > >> >  'app_plugins',
> > >> >  'satchmo_ext.productratings',
> > >> >  'satchmo_ext.recentlist',
> > >> >  'satchmo_ext.upsell',
> > >> >  'satchmo_ext.wishlist',
> > >> >  'satchel',
> > >> >  'south',
> > >> >  'ecomm',
> > >> >  'filer',
> > >> >  'tinymce',
> > >> >  'debug_toolbar']
> > >> > Installed Middleware:
> > >> > ('django.middleware.cache.UpdateCacheMiddleware',
> > >> >  'django.middleware.common.CommonMiddleware',
> > >> >  'django.contrib.sessions.middleware.SessionMiddleware',
> > >> >  'django.middleware.locale.LocaleMiddleware',
> > >> >  'django.contrib.auth.middleware.AuthenticationMiddleware',
> > >> >  'django.middleware.doc.XViewMiddleware',
> > >> >  'threaded_multihost.middleware.ThreadLocalMiddleware',
> > >> >  'satchmo_store.shop.SSLMiddleware.SSLRedirect',
> > >> >  'debug_toolbar.middleware.DebugToolbarMiddleware',
> > >> >  'passion.middleware.FilterPersistMiddleware',
> > >> >  'django.middleware.cache.FetchFromCacheMiddleware')
> >
> > >> > Traceback:
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/lib/python2.5/site-packages/django/core/handlers/base.py"
> > >> > in get_response
> > >> >  92.                 response = callback(request, *callback_args,
> > >> > **callback_kwargs)
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/src/satchmo/satchmo/apps/product/views/__init__.py"
> > >> > in get_product
> > >> >  161.     log.debug("product|discount_price:sale is %s" %
> > >> > discount_price(product, best_discount))
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/src/satchmo/satchmo/apps/product/templatetags/satchmo_discounts.py"
> > >> > in discount_price
> > >> >  107.         return untaxed_discount_price(product, discount)
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/src/satchmo/satchmo/apps/product/templatetags/satchmo_discounts.py"
> > >> > in untaxed_discount_price
> > >> >  117.     up = product.unit_price
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/src/satchmo/satchmo/apps/product/models.py"
> > >> > in _get_fullPrice
> > >> >  925.             price = get_product_quantity_price(self,
> Decimal('1'))
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/src/satchmo/satchmo/apps/product/prices.py"
> > >> > in get_product_quantity_price
> > >> >  32.     adjustments = get_product_quantity_adjustments(product,
> > >> > qty=qty, parent=parent)
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/src/satchmo/satchmo/apps/product/prices.py"
> > >> > in get_product_quantity_adjustments
> > >> >  14.     if qty_discounts.count() > 0:
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/lib/python2.5/site-packages/django/db/models/query.py"
> > >> > in count
> > >> >  292.         return self.query.get_count()
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/lib/python2.5/site-packages/django/db/models/sql/query.py"
> > >> > in get_count
> > >> >  376.         number = obj.get_aggregation()[None]
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/lib/python2.5/site-packages/django/db/models/sql/query.py"
> > >> > in get_aggregation
> > >> >  348.         result = query.execute_sql(SINGLE)
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/lib/python2.5/site-packages/django/db/models/sql/query.py"
> > >> > in execute_sql
> > >> >  2369.         cursor.execute(sql, params)
> > >> > File
> > >> >
> "/usr/local/python-envs/satch/lib/python2.5/site-packages/django/db/backends/util.py"
> > >> > in execute
> > >> >  19.             return self.cursor.execute(sql, params)
> >
> > >> > Exception Type: ProgrammingError at
> > >> > /product/basic-black-center-console-304734/
> > >> > Exception Value: can't adapt
> >
> > >> --
> > >> You received this message because you are subscribed to the Google
> Groups
> > >> "Satchmo users" group.
> > >> To post to this group, send email to [email protected].
> > >> To unsubscribe from this group, send email to
> > >> [email protected]<satchmo-users%[email protected]>
> .
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/satchmo-users?hl=en.
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Satchmo users" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<satchmo-users%[email protected]>
> .
> > > For more options, visit this group at
> > >http://groups.google.com/group/satchmo-users?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Satchmo users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<satchmo-users%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/satchmo-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Satchmo users" 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/satchmo-users?hl=en.

Reply via email to