博客

你的已发布应用现在在重新发布时保持在线

当你在 Mythex 上重新发布应用时,线上站点现在会在新构建准备就绪之前继续提供上一个版本,然后再切换过去。在此之前,重新发布会在整个构建期间让站点下线,访问者会看到「This published app is offline or the link was not found」,大约一分钟之后,刷新页面又能正常访问。我们还修复了线上应用可能被错误地显示为离线的另外两种情况。

1. 重新发布不再让你的站点下线

在后台,每个已发布的应用都有一条记录,指明应当提供哪个构建。重新发布会复用这条记录,并在整个构建期间将其标记为「构建中」,而我们边缘层中负责路由访问者的那部分只提供标记为「在线」的记录。因此,每次重新发布都会让站点在构建完成之前消失。我们在一个小型测试应用上复现了这一点:每次重新发布都会有大约 50 秒的下线时间。

现在,当一个已经在线的应用开始重新发布时,记录会记住存在一个之前的构建,并继续指向它。边缘层会在新构建进行期间继续提供之前的构建,指针只有在新构建成功时才会移动过去。如果新构建失败,你的访问者完全不会察觉,旧版本只是保持在线。

首次发布,或者重新发布一个已暂停或已取消发布的应用,仍然只在构建完成时才上线,因为此时没有之前的版本可以展示。

2. 短暂的故障不再显示为「未找到」

位于你的已发布应用前面的服务,会向我们的 API 询问每个站点的位置。过去,它会把任何不成功的响应(例如一次短暂的服务器错误或连接中断)都视为「该站点不存在」,并显示离线页面。一秒钟之后刷新又能正常访问,这让人感到困惑。

现在,只有真正的「未找到」响应才算作未找到:

  • 任何其他失败都会重试一次。
  • 如果仍然失败,边缘层会使用最近一次的正常结果提供站点,最长可达一小时。
  • 只有在它从未获得过结果的情况下,才会显示「暂时不可用」页面,而绝不会显示「未找到」。

自定义域名现在会同时询问我们的生产系统和预发布系统,因此预发布服务器的缓慢永远不会拖累生产域名。

3. 暂停的应用会明确说明自己已暂停

已发布的应用使用你的积分余额运行。如果余额用完,应用就会暂停,直到你充值为止,充值后它会自动恢复。但过去,一个已暂停的应用看起来与已删除的应用完全一样。

现在,访问者访问已暂停的应用时会看到**「This app is paused」**,并附有供所有者返回的途径;该响应永远不会被缓存,因此应用一旦恢复,就可以立即再次访问。如果应用因其他原因不可用,访问者会看到「This app isn't available」,但不会得知原因。

为什么这很重要

已发布的应用是你已经分享出去的东西:放在个人简介链接中,印在名片上,交给你的第一批客户。它应当像一个真正的网站一样运行:在你改进它的同时保持在线,能够经受住短暂的故障,并且在暂停时如实说明。

关于发布的更多信息,请参阅文档:如何发布和托管限制。关于同一理念的基础设施部分,请参阅我们如何把自己的部署降到零 502 错误。

Mythex · Pricing · 用 AI 构建任何东西 · 网站和应用模板 · Mythex 对比 · AI 应用构建术语表 · 免费的 AI 应用构建工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 繁體中文(香港) 繁體中文(台灣)