在django视图上触发数据库备份

时间:2016-03-15 13:15:50

标签: python django view database-backups manage.py

我试图从我在Django中创建的自定义视图中的按钮触发数据库备份。问题是,在我发现的有关数据库备份的所有信息中,该命令是自动触发的,或者来自manage.py命令。

关于如何解决它的任何想法?甚至可以从视图执行manage.py命令吗?

1 个答案:

答案 0 :(得分:0)

是的,可以从视图中执行manage.py命令。请查看有关django文档的this部分。

但真正的问题是你是否应该这样做。备份数据库需要时间并且在视图中执行任何命令将迫使django等待该命令完成,然后再将响应发送回浏览器。对于那个执行时间,你的一个工人会很忙,不会接受任何请求。

如果您错误地多次执行视图,则可以阻止所有工作人员,因此在备份完成之前无法访问您的网站。

考虑使用一些卸载或后台任务,例如CeleryuWSGI spooler,或者只是不要使用视图。