在Django中创建持久数据对象
我有一个基于Python的最大熵分类器。这个分类器很大,存储为Pickle格式,反序列化(也就是把它从存储中读取出来)大约需要一分钟。而且,它在多线程环境下不安全。不过,它运行得很快,可以在几毫秒内对一个样本(简单的Python字典)进行分类。
我想创建一个简单的Django网页应用,这样用户就可以实时提交样本进行分类。我该如何将分类器加载到持久内存中一次,然后管理它,以便每个请求都能访问这个对象,而不会和其他请求发生冲突呢?
2 个回答
2
可以考虑在另一个进程中运行它。你可以让你的Django应用通过一个套接字(socket)发送数据,这样分类器进程就可以监听这个套接字,接收数据。或者,你也可以使用一个队列,让Django把请求提交到这个队列里。
4
你可以使用Django的缓存框架,并把超时时间设置得非常长。