我正在建立一个简单的音乐网站,收集来自Last.Fm,MusicBrainz和其他人的数据。
到目前为止,当我添加一个艺术家(仅仅是名字)时,它会收集所有专辑和歌曲并保存。我决定将它放在艺术家的自定义保存方法中。
使用runserver,此过程最多可持续2或3分钟。
我想知道这是否是做“所有这些事情的”正确“的地方,因为当我添加一个新艺术家时,我必须等待页面加载完成所有收集。
还有更好的地方吗?
答案 0 :(得分:7)
在后台进程中执行此类任务要好得多 - 不会阻止HTTP的请求/响应周期。有几个不错的方法,你可以write a management command通过python manage.py ...
运行。
但是,我强烈建议您查看Celery。最初需要设置更多的开销,但它确实是一个更好的方向(而不是滚动你自己的后台进程)。