views:

168

answers:

2

I have a Python-based maximum entropy classifier. It's large, stored as a Pickle, and takes about a minute to unserialize. It's also not thread safe. However, it runs fast and can classify a sample (a simple Python dictionary) in a few milliseconds.

I'd like to create a basic Django web app, so users can submit samples to classify in realtime. How would I load the classifier into persistent memory once, and then regulate it so that each request can access the object without conflicting with other requests?

+2  A: 

Consider running it in another process. You could have your Django application submit samples via a socket that the classifier process listens on, or you could run a queue and have Django submit requests to the queue.

Brian Luft
Yes, running the classifier in it's own server would work, but that seems overkill. I was looking for something that utilizes Django's framework.
Chris S
+2  A: 

you could use djangos cache-framework and set the timeout to a extreme value

renton
Clever and dead-simple to implement. Great suggestion.
Chris S