【问题标题】:old version files still appearing in google app engine旧版本文件仍然出现在谷歌应用引擎中
【发布时间】:2015-05-09 12:07:59
【问题描述】:

即使在以下情况下,我的旧版本文件仍会出现在 Google App Engine (URL) 中:

  1. 我在上传后测试了新版本 (2.appid.appspot.com)
  2. 将新版本设为仪表板的默认版本。
  3. 已删除旧版本。
  4. 清除内存缓存

所有新目录和文件都已创建,但旧文件不会被覆盖。

好吧,让我详细说一下,最初我使用 app.yaml 创建了版本 1:

应用程序:app-id

版本:1

运行时:python27

api_version: 1

线程安全:是的

default_expiration: "7d"

handlers: - url: /static/(..html) static_files: static/\1 上传: static/(..html)

url: /static/(..(css)) static_files: static/\1 upload: static/(..(css))

url: /static/(..(bmp|gif|ico|jpeg|jpg|png))$ static_files: static/\1 upload: static/(..(bmp|gif|ico|jpeg|jpg|png))

url: /static/(..(bmp|gif|ico|jpeg|jpg|png))$ static_files: static/\1 upload: static/(..(bmp|gif|ico|jpeg|jpg|png))

url: /static/(..mp4) static_files: static/\1 mime_type: static/mp4 upload: static/(..mp4)

url: .* script: main.app

库:- 名称:webapp2 版本:“2.5.2”

然后我使用相同的 app.yaml 创建了版本 2:

应用程序:app-id

版本:2

运行时:python27

api_version: 1

线程安全:是的

default_expiration: "7d"

handlers: - url: /static/(..html) static_files: static/\1 上传: static/(..html)

url: /static/(..(css)) static_files: static/\1 upload: static/(..(css))

url: /static/(..(bmp|gif|ico|jpeg|jpg|png))$ static_files: static/\1 upload: static/(..(bmp|gif|ico|jpeg|jpg|png))

url: /static/(..(bmp|gif|ico|jpeg|jpg|png))$ static_files: static/\1 upload: static/(..(bmp|gif|ico|jpeg|jpg|png))

url: /static/(..mp4) static_files: static/\1 mime_type: static/mp4 upload: static/(..mp4)

url: .* script: main.app

库:- 名称:webapp2 版本:“2.5.2”

经过测试的第 2 版,即 2.app-id.appspot.com 工作正常

进入仪表板将第 2 版设为默认,然后我删除了第 1 版,但现在:

1) 静态文件夹有 1 个名为 side.css(在版本 1 中)和修改后的 side.css(在版本 2 中)的文件,两者都可以通过 app-id.appspot.com/static/side.css 和 2 获得。 app-id.appspot.com/static/side.css(修改)??

如何删除 app-id.appspot.com/static/side.css 上的旧 side.css ???

【问题讨论】:

  • 你怎么知道旧文件没有被覆盖?如果文件仍然可用,那么您已经重新加载它们或者它们在数据库或存储桶中。
  • 我可以知道你指的是什么类型的文件吗?你怎么说旧文件存在,我的意思是你在哪里或如何看到它?
  • 我已添加详细信息
  • 你解决过这个问题吗?我有类似的问题,但我认为这与浏览器中的缓存有关stackoverflow.com/questions/46850418/…

标签: google-app-engine caching google-cloud-platform


【解决方案1】:

前往您的Google Cloud Console 并打开您的项目。在左侧汉堡菜单下,前往存储 -> 浏览器。您应该在那里找到至少一个 Bucket:your-project-name.appspot.com。在 Lifecycle 列下,单击与 your-project-name.appspot.com 相关的链接。删除任何现有规则,因为它们可能与您现在将创建的规则冲突。

通过单击“添加规则”按钮创建新规则。对于对象条件,选择only“Newer version”选项并将其设置为1。不要忘记单击“Continue”按钮。对于该操作,选择“删除”并单击“继续”按钮。保存您的新规则。

这条新规则最多需要 24 小时才能生效,但至少对我的项目来说只需要几分钟。一旦启动并运行,您的应用在 your-project-name.appspot.com 下提供的文件版本将始终是最新部署的,从而解决问题。此外,如果您经常编辑静态文件,则应从与这些静态文件相关的处理程序中删除任何过期 element,并从 app.yaml 文件中删除 default_expiration 元素,这将有助于避免其他服务器意外缓存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 2011-05-06
    相关资源
    最近更新 更多