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

vie*_*rja 0 python api django

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

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

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

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

有没有比这更好的地方?

bra*_*ers 7

在后台进程中执行此类任务要好得多 - 不会阻止HTTP的请求/响应周期.有几个不错的方法可以做,你可以编写一个你可以运行的管理命令python manage.py ....

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

  • +1:芹菜.比滚动你自己好多了. (2认同)