Блог

Публикуваното ви приложение остава онлайн, докато го публикувате отново

Когато публикувате отново приложение в Mythex, живият ви сайт продължава да сервира предишната версия, докато новият билд не е готов, а след това превключва. Преди тази промяна повторното публикуване спираше сайта за целия билд — посетителите виждаха „This published app is offline or the link was not found“ за около минута, а после същата страница работеше отново при презареждане. Поправихме и два други начина, по които живо приложение можеше погрешно да изглежда офлайн.

1. Повторното публикуване вече не сваля сайта ви

Зад кулисите всяко публикувано приложение има запис, който казва кой билд да сервира. Повторно публикуване използваше същия запис и го маркираше като „building“ за времето на билда — а частта от нашия edge, която насочва посетителите, сервираше само записи, маркирани като „live“. Затова всяко повторно публикуване караше сайта да изчезне, докато билдът не приключи. Възпроизведохме го на малко тестово приложение: около 50 секунди офлайн при всяко повторно публикуване.

Сега, когато повторно публикуване започне за вече живо приложение, записът помни, че предишен билд съществува, и продължава да сочи към него. Edge-ът сервира този предишен билд, докато новият се строи, а указателят се премества към новия билд само когато той успее. Ако новият билд се провали, посетителите ви никога не забелязват — старата версия просто остава онлайн.

Първо публикуване или повторно публикуване на приложение, което е било паузирано или спряно, все още става живо едва когато билдът приключи — няма предишна версия за показване.

2. Краткото прекъсване вече не изглежда като „не е намерено“

Услугата пред публикуваното ви приложение пита API-то ни къде живее всеки сайт. Преди третираше всеки неуспешен отговор — кратка сървърна грешка, прекъсната връзка — като „този сайт не съществува“ и показваше офлайн страницата. Презареждане секунда по-късно работеше, което объркваше.

Сега само истински отговор „не е намерено“ се брои като не намерено:

  • Всеки друг провал се опитва отново веднъж.
  • Ако пак се провали, edge-ът сервира сайта от последния известен добър отговор до един час.
  • Само ако никога няма отговор, показва страница „временно недостъпно“ — никога „не е намерено“.

Собствените домейни също питат нашите production и staging системи паралелно, така че бавен staging сървър никога не може да задържи production домейн.

3. Паузираното приложение казва, че е на пауза

Публикуваните приложения работят на базата на вашия баланс от кредити. Ако той свърши, приложението се паузира, докато не го попълните — и се връща само, когато го направите. Но паузирано приложение преди изглеждаше точно като изтрито.

Сега посетител на паузирано приложение вижда „This app is paused“, с начин за връщане за собственика, а отговорът никога не се кешира, така че приложението е достъпно отново в момента, в който бъде възобновено. Ако приложението е недостъпно по друга причина, посетителите виждат „This app isn't available“ — без да им се казва защо.

Защо това има значение

Публикувано приложение е нещо, което сте споделили: в био линк, на визитна картичка, с първите си клиенти. Трябва да се държи като истински уебсайт — да остава онлайн, докато го подобрявате, да издържа на кратък прекъсване и да е честно, когато е на пауза.

Повече за публикуването в документацията: как да публикувате и лимити на хостинга. А за инфраструктурната страна на същата идея: как стигнахме до нула 502 грешки при нашите собствени деплойи.

Mythex · Pricing · Създай всичко с ИИ · Шаблони за уебсайтове и приложения · Mythex в сравнение · Речник на създаването на приложения с ИИ · Безплатни инструменти за създаване на приложения с ИИ · 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 简体中文 繁體中文(香港) 繁體中文(台灣)