【发布时间】:2017-07-09 00:58:12
【问题描述】:
我正在学习 Django,为了练习,我目前正在开发 YTS 的克隆页面,它是一个电影种子存储库*。
截至目前,我删除了网站上的所有电影,并将它们放在一个名为 Movie 的单个数据库表中,其中包含每部电影的所有基本信息(我计划为 Genre 再添加一个)。
每隔几天 YTS 就会发布新电影,我希望我的克隆网站自动将它们添加到数据库中。我目前正在决定如何执行此操作:
我计划在每次用户进入网站时将我的数据库中最后一部电影的电影 ID 与 YTS 数据库中的最后一部电影进行比较,但这意味着向 YTS 发出请求每次我的页面加载时,这也意味着应该在我的 index() 视图方法中执行一些非常慢的代码。
另一种策略是查询我的数据库上次更新的时间(引入了新条目),如果它比一天大,则向 YTS 请求新电影。 问题是我似乎没有找到任何方法来查询上次数据库更新的时间。有这种方法吗?
我还可以设置一个 cron 作业来更新信息,但是我在从单独的 Python 函数中进行更改时遇到了问题(我导入了 django.db 等,但解释器拒绝执行 django db 指令)。
那么,总而言之,从第三方服务/网站更新我的数据库而不用加载时间打扰用户的最佳策略是什么?您如何以非侵入性的方式为用户设置此类更新?你一般是怎么做的?
* 我知道一个 torrent 网站是非法的,我无意以任何方式将我的项目提供给公众
【问题讨论】:
标签: python django database cron