Skip to content

Cached content served during deployments/expired content #3339

Open
@chadwcarlson

Description

@chadwcarlson

Where on docs.platform.sh should be changed?

What exactly should be updated?

On Serve static content during deployments:

The pages list above should reflect

  • The router container is available during deploy - a cache grace period. A grace period is described for DG-2 + Fastly already as a difference from the Grid
  • When static content is cached, the router container will return the requested page. If not in cache or the cache has expired, the request will be held for 5 minutes before returning an error (which is longer than any typical deployment). If the content expiry date is in the base, the request is held in stead os served.
  • "This entirely removes the downtime when redeploying static applications, or when the requested page is cached."
  • "Because most pages in a website are cacheable, during a deployment when the website is not available, we continue to serve the cached content. The end result is that the majority of the site continues to work, even when it is not yet fully redeployed."

Additional context

Tyler's description of the feature

We recently improved our deployment strategy where, when the router is unavailable, incoming requests are held for 5 minutes before returning an error.

This next improvement is to support a cache grace period where the router remains open during a deployment. It will return the requested page from cache if it has it, or hold the request as usual.

This entirely removes the downtime when redeploying static applications, or when the requested page is cached.

Because most pages in a website are cacheable, during a deployment when the website is not available, we continue to serve the cached content. The end result is that the majority of the site continues to work, even when it is not yet fully redeployed.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions