标签: python django
我有一些函数 expensiveFunction()需要几秒钟才能执行并返回一个较大的(5mb in JSON)数组。
如何安排django每隔x小时执行一次该函数,然后将结果存储在某处,以便当用户访问视图时,它会返回那些预先计算的存储结果?
读取/写入文本文件会有读取文件然后解析JSON的开销,我觉得django会话不适合这些数据量。
使用django 1.9.7和python 3.4
答案 0 :(得分:0)
您可以在Celery中有一个计划任务,它是一个分布式任务队列,并保存来自Redis中的expensiveFunction()的结果,这是一个键值存储,可以减少读取的开销从文件。
答案 1 :(得分:0)
您应该安装一个异步应用程序来使用django并创建cron进程。
现在标准是Celery 您还可以研究Django频道,它将包含在Django 1.10中,但此时此作为Django分离的应用程序。