On Mon, Jun 2, 2008 at 3:33 AM, Alexandre Parenteau <[EMAIL PROTECTED]> wrote:
> > Hi, > > I'm a newbie with Django, and I'm having trouble accessing django > database outside the web server. > > I'm using mod_python+apache+MySQL without any problem. > > However I need for my project to *also* access the database *outside* > of mod_python. I wrote a script service.py which is supposed to access > periodically the database, as a background service: > > > python service.py --service > > This service.py file looks like this (the code was borrowed from > settings.py): > > >>>>>>>>>>>>>>>>>>>>> CUT > from django.core.management import setup_environ > try: > import settings # Assumed to be in the same directory. > except ImportError: > import sys > sys.stderr.write("Error: Can't find the file [...]) > sys.exit(1) > > print setup_environ(settings) > > from djangoserver.myserver.models import Job, Dummy, ... > > # XXX: (Temporary) workaround for ticket #1796: force early loading of all > # models from installed apps. > from django.db.models.loading import get_models > loaded_models = get_models() > > [...] > <<<<<<<<<<<<<<<<<<<<< CUT > > The script service.py then looks for jobs to work on: > > >>>>>>>>>>>>>>>>>>>>> CUT > while 1: > > hadJob = doOneRun() > if not hadJob: > time.sleep(0.100) > > # WORK AROUND: just to defeat the sql cache > d = Dummy(foo="1") > d.save() > d.delete() > <<<<<<<<<<<<<<<<<<<<< CUT > > As you might see, I run into the problem that the Job table was not > getting re-fetched my MySQL. I found a work around by creating a Dummy > model, and by forcing an update on the table (d.save()). > > Could someone point me to a way to do a background job with Django? Is > there a cache I need to flush in order for Django to re-query the > database? > I think you must be using InnoDB tables? If so you are not running into any Django cache but rather MySQL/InnoDB's default transaction isolation level of repeatable read. Your problem sounds identical to the one posted here: http://groups.google.com/group/django-users/browse_thread/thread/e25cec400598c06d/55fa3724d2754013 and I expect it has the same possible fixes. Karen --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---