首页 > 其他分享 >Spartacus 服务器端渲染(SSR)的 timeout 设置

Spartacus 服务器端渲染(SSR)的 timeout 设置

时间:2023-11-13 19:46:15浏览次数:45  
标签:设置 服务器端 渲染 SSR Spartacus 毫秒 timeout 页面

如下图所示,Spartacus SSR engine 的几种 timeout 超时机制的设置:

其中第122 行的 3_000 写法,意思就是默认的 3000 毫秒超时时间。

官网能看到对于这些 timeout 字段的说明:

timeout 的设置是一个数字,指示 SSR 服务器在回退到 CSR 默认的渲染机制之前,尝试呈现页面的时间量(以毫秒为单位)。

一旦延迟到期,服务器将返回 CSR 的 index.html,其中不包含任何预渲染标记。

CSR 应用程序 (index.html) 使用 Cache-Control:no-store 标头提供服务。

因此,它不被缓存层存储。 SSR 页面不包含此标头,因为最好缓存 SSR 页面。

在后台,SSR 服务器继续渲染页面的 SSR 版本。 一旦渲染完成,页面就会被放置在本地缓存(内存中)中,以便在下次请求时返回。 默认情况下,服务器在第一次返回页面后会从缓存中清除该页面。

超时值为 0 将立即返回 CSR 页面。

默认值为 3000 毫秒。

forcedSsrTimeout

forcedSsrTimeout 设置也是一个数字,指示当请求的渲染策略设置为 ALWAYS_SSR 时等待渲染页面的时间(以毫秒为单位)。 如果服务器负载过重或者页面包含错误,这可以防止 SSR 渲染阻塞资源太久。

默认值为 60000 毫秒(即 60 秒)。

建议根据需要调整forcedSsrTimeout设置。

maxRenderTime

maxRenderTime 设置是渲染完成所需的最长时间。 如果渲染超过此超时,则释放并发槽,这允许下一个请求在服务器端渲染。 但是,这可能不会释放尚未完成的渲染的渲染资源,这可能会导致服务器上的额外内存使用。 maxRenderTime 记录超出渲染时间的渲染,这对于调试很有用。 该值应始终高于超时和forcedSsrTimeout 设置的值。

默认值为 300000 毫秒(5 分钟)。

标签:设置,服务器端,渲染,SSR,Spartacus,毫秒,timeout,页面
From: https://www.cnblogs.com/sap-jerry/p/17829954.html

相关文章

  • Angular 服务器端渲染的静态 HTML 变为客户端的动态应用的过程
    首先,让我们先了解一下Angular服务器端渲染(SSR)的工作原理。当你的Angular应用启用服务器端渲染后,用户在浏览器中请求页面时,服务器会预先渲染出HTML,并且将其发送到客户端。这样做的优点是可以改善首屏加载时间,提升SEO效果,因为搜索引擎可以抓取到预渲染的HTML内容。那......
  • Angular 应用启用服务器端渲染后 Ngrx store 和 re-hydration 的交互关系
    在Angular启用服务器端渲染(Server-SideRendering,SSR)后,当浏览器端访问这个Angular应用时,会涉及到一系列过程,包括初始化、数据获取、hydration(重新注水)和与NgRxStore之间的交互。下面我将详细介绍这些步骤:初始化应用:用户在浏览器中输入应用的URL。服务器端处理请求,生......
  • Angular 服务器端渲染应用 re-hydration 过程详解
    当使用Angular启用服务器端渲染(Server-SideRendering,以下简称SSR)时,应用程序的工作方式发生了显著变化。这使得Angular应用更加友好,不仅对搜索引擎爬虫更友好,还有助于改善应用的性能和加载时间。在本文中,我们将详细介绍在浏览器端访问启用SSR的Angular应用时背后发生的事情,特别侧......
  • 编译 Spartacus 6.0 时遇到的错误消息
    错误消息如下:CompilingwithAngularsourcesinIvypartialcompilationmode.projects/storefrontlib/shared/components/generic-link/generic-link.component.html:22:6-errorTS2322:Type'string|null'isnotassignabletotype'string|undefine......
  • Spartacus CSR 渲染模式下的 home page 网络请求
    SpartacusCSR渲染模式下的homepage网络请求如下,其中第一个请求就是baseSitesOCCAPI调用。Spartacus是一个开源的、响应式的电子商务前端框架,是基于Angular构建的,旨在帮助企业快速构建现代化的电子商务网站。OCC(OmniCommerceConnect)是Spartacus与后端电子商务平台(通常......
  • Vue 在内部对异步队列尝试使用原生的 Promise.then、MutationObserver 和 setImmedia
    下列关于Vue的描述错误的是()A当给某个组件修改某个值时,该组件不会立即重新渲染BVue内部使用原生Promise.then、MutationObserver和setImmediate实现异步队列,不会采用setTimeout(fn,0)C$nextTick()返回一个Promise对象D$nextTick()可以配合async/await使用正确答案:B官......
  • 如何给 Spartacus 的 CSR 和 SSR 配置不同的 OCC endpoint
    SAP官方文档里,对CommerceCloudComposableStorefront的occendpoint配置说明的例子如下:provideConfig(backend:{occ:{baseUrl:'https://some.baseUrl.com'},},}),那么如果想为SSR和CSR两种运行方式,配置不同的o......
  • docker pull timeout问题
    背景最近在用docker搭个开发环境,参照的是之前记录的那个笔记:Docker相关发现在拉取镜像的时候有点问题,即使用如下命令dockerpullubuntu:18.04报错: “net/http:TLShandshaketimeout”这个主要是因为docker默认镜像拉取地址为国外仓库,会存在网络上的各种问题,你懂的解决只需要......
  • setTimeout 是 DOM 提供的函数,不是JavaScript的全局函数
    JavaScript中包含以下7个全局函数,用于完成一些常用的功能(以后的章节中可能会用到):escape()、unescape()、eval()、isFinite()、isNaN()、parseFloat()、parseInt()函数描述decodeURI()解码某个编码的URI。decodeURIComponent()解码一个编码的URI组件。......
  • sse_server sent event_eventSource_websocket替代_socketio替代_服务器端事件
    eventsourcebackend#-*-coding:utf-8-*-#这段代码是使用FastAPI框架创建一个简单的服务器端事件(Server-SentEvents,SSE)的示例。以下是对代码的详细解析:#1.`importjson,random,...`:这行代码导入了需要的Python模块。#2.`event_router=APIRouter()`:这行代码创建......