我应该在哪里定义Django中的数据收集方法

时间:2011-04-07 19:03:48

标签: python django api

我正在建立一个简单的音乐网站,收集来自Last.Fm,MusicBrainz和其他人的数据。

到目前为止,当我添加一个艺术家(仅仅是名字)时,它会收集所有专辑和歌曲并保存。我决定将它放在艺术家的自定义保存方法中。

使用runserver,此过程最多可持续2或3分钟。

我想知道这是否是做“所有这些事情的”正确“的地方,因为当我添加一个新艺术家时,我必须等待页面加载完成所有收集。

还有更好的地方吗?

1 个答案:

答案 0 :(得分:7)

在后台进程中执行此类任务要好得多 - 不会阻止HTTP的请求/响应周期。有几个不错的方法,你可以write a management command通过python manage.py ...运行。

但是,我强烈建议您查看Celery。最初需要设置更多的开销,但它确实是一个更好的方向(而不是滚动你自己的后台进程)。