Blog

Showing all 5 blog posts for May 2009.

May 26, 2009
by Tobias McNulty
0 comments

Testing Django Views for Concurrency Issues

At Caktus, we rely heavily on automated testing for web app development. We create tests for all the code we write, ideally before the code is written. We create tests for every bug we find and, resources permitting, ramp up the test suite with lots of random input and boundary ...

Continue reading →

May 26, 2009
by Colin Copeland
0 comments

Explicit Table Locking with PostgreSQL and Django

By default, Django doesn't do explicit table locking. This is OK for most read-heavy scenarios, but sometimes you need guaranteed, exclusive access to the data. Caktus uses PostgreSQL in most of our production environments, so we can use the various lock modes it provides to control concurrent access to ...

Continue reading →

May 26, 2009
by Tobias McNulty
0 comments

Parsing Microseconds in a Django Form

There's currently no way to accept microsecond-precision input through a Django form's DateTimeField. This is an acknowledged bug, but the official solution might not come very soon, because the real fix is non-trivial.

In the meantime, here's one approach that will work in most cases:

class DateTimeWithUsecsField ...

Continue reading →

May 25, 2009
by Tobias McNulty
0 comments

Seamlessly switch off (and on) a Django (or other WSGI) site for upgrades

In preparation for migrating the EveryWatt database from one machine to another, I wrote this little WSGI script to easily disable the site while I copy the data. Since it doesn't depend on Django or really anything else (other than a functioning WSGI server), you can use it for ...

Continue reading →

May 21, 2009
by Tobias McNulty
0 comments

Eclipse Ganymede and Subclipse on Ubuntu - JavaHL (JNI) not available

I finally got around to updating my Eclipse, PyDev, and Subclipse environment today, which I use for Django development.

Formerly I was using the SvnKit (pure-Java) libraries. SvnKit "felt" slow to me, compared to my command line SVN client, so this time I tried to get the JavaHL (JNI) libraries ...

Continue reading →