Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不完全关闭的情况下在Django服务器中执行实时应用程序更新?_Django_Continuous Deployment - Fatal编程技术网

如何在不完全关闭的情况下在Django服务器中执行实时应用程序更新?

如何在不完全关闭的情况下在Django服务器中执行实时应用程序更新?,django,continuous-deployment,Django,Continuous Deployment,Django有一套非常清晰的方法来更新服务器中应用程序代码的版本(即部署版本): 确保它在本地工作 进行迁移(可以在1之前另外进行) 关闭服务器 将代码推送到服务器 迁移数据库更改 再次启动服务器 但最大的问题是如何在不关闭服务器的情况下执行此操作,这样即使在更新期间,用户仍然可以使用此操作 Pinterest和Instantgram都在使用Django,但您从未看到它们不可用 推荐的方法或甚至可能的方法是什么?查看部署策略,这与特定的框架没有直接关系。这是不可能的,但您可以进行蓝色/绿色部署。

Django有一套非常清晰的方法来更新服务器中应用程序代码的版本(即部署版本):

  • 确保它在本地工作
  • 进行迁移(可以在1之前另外进行
  • 关闭服务器
  • 将代码推送到服务器
  • 迁移数据库更改
  • 再次启动服务器
  • 但最大的问题是如何在不关闭服务器的情况下执行此操作,这样即使在更新期间,用户仍然可以使用此操作

    Pinterest和Instantgram都在使用Django,但您从未看到它们不可用


    推荐的方法或甚至可能的方法是什么?

    查看部署策略,这与特定的框架没有直接关系。这是不可能的,但您可以进行蓝色/绿色部署。基本上,用更新启动一个新服务器,一旦它准备好了,就切换到旧服务器。您需要保持迁移向后兼容,即允许新字段为null.Tnx@p14z,尽管答案令人失望。