On Apr 22, 2:25 pm, Tom Evans <tevans...@googlemail.com> wrote: > On Thu, Apr 22, 2010 at 7:00 PM, Tim Arnold <a_j...@bellsouth.net> wrote: > > On Apr 22, 1:22 pm, Andy McKay <a...@clearwind.ca> wrote: > >> On 2010-04-22, at 9:52 AM, Tim Arnold wrote: > > >> > hi, > >> > Until now I've been working on a single Freebsd server, hosting a > >> > couple of Django apps. Now we've bought another machine to provide > >> > load balancing and I'm wondering how to accomplish that. > >> > I guess the django code can be shared on the same drive, but the > >> > django instances running separately of course (apache/mod_python). > > >> > Is it possible to have two instances accessing the same database? How > >> > do you handle load-balancing? > > >> Yes you can. There's lots of options,http://www.apsis.ch/pound/isbut one. > >> -- > >> Andy McKay, @andymckay > >> Django Consulting, Training and Support > > > I just googled that which led to some interesting pages and notes, > > thanks. > > So, just to make sure I understand: > > > browser -> pound --> apache1(mysqldb) +django > > --> apache2(mysqldb) +django > > > and it will just work? One database, two django instances and they > > won't clobber each other on db write? > > I guess the writes will block, correct? > > If you just want to run two instances of django against the same > database, then just do so. How you hook it into your hosting mechanism > depends on what mechanism you are using. Typically there would be no > need for multiple apache instances or a load balancer in front. > > I'm not sure I understand your last statement '..they wont clobber > each other on db write'. If you edit the same object at the same time > on multiple django instances, it is the same as if you edited the same > object at the same time on a single django instance. Django does no > locking - apart from atomicity of objects - to ensure that the earlier > saved object does not get updated. > > I just re-read that, and even I don't understand it so heres an example: > > User A loads a page with a form to edit object instance O > User B loads a page with a form to edit object instance O > User A changes O.active from True to False and saves the form > User B changes O.name from '' to 'Bob' and saves the form > > Note that I haven't mentioned what instance of django they are running > on - it is irrelevant > > In this scenario, after B has saved the form, O.active is True, and > O.name is 'Bob'. B does not get any warning that the object instance > he is editing has changed out from underneath him. > > If you require that sort of behaviour, you need to track the revision > of the object, and implement it when anything on the model changes - > that's behind the scope of this discussion ;) > > Cheers > > Tom
Hi, Thanks for that explanation. I think I understand it now. --Tim -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.