Blog

Vaša objavljena aplikacija med ponovno objavo ostane dosegljiva

Ko na Mythexu ponovno objavite aplikacijo, vaša živa stran zdaj še naprej streže prejšnjo različico, dokler nova gradnja ni pripravljena, nato pa preklopi. Prej je ponovna objava stran med celotno gradnjo vzela z omrežja – obiskovalci so videli sporočilo „This published app is offline or the link was not found“ in šele ob ponovnem nalaganju je stran znova delovala. Odpravili smo še dva druga načina, na katera bi se živa aplikacija lahko napačno zdela nedosegljiva.

1. Ponovna objava vaše strani ne ugasne več

Za kulisami ima vsaka objavljena aplikacija zapis, ki pove, katero gradnjo naj postreže. Ponovna objava je ta zapis ponovno uporabila in ga za čas gradnje označila kot „building“ – del našega omrežja, ki usmerja obiskovalce, pa je postregel samo zapise, označene kot „live“. Zato je vsaka ponovna objava stran naredila nedosegljivo, dokler gradnja ni bila končana. Na majhni testni aplikaciji smo to reproducirali: približno 50 sekund brez strani pri vsaki ponovni objavi.

Zdaj, ko se ponovna objava začne na aplikaciji, ki je že živa, zapis ohrani podatek, da prejšnja gradnja obstaja, in še naprej kaže nanjo. Robni del postreže prejšnjo gradnjo, medtem ko se nova gradi, kazalec pa se premakne na novo gradnjo šele, ko ta uspe. Če nova gradnja ne uspe, obiskovalci tega sploh ne opazijo – stara različica preprosto ostane na voljo.

Prva objava ali ponovna objava aplikacije, ki je bila ustavljena ali odstranjena, še vedno postane dostopna šele, ko se gradnja konča – prejšnje različice namreč ni, ki bi jo lahko prikazali.

2. Kratka motnja ni več videti kot „ni najdeno“

Storitev pred vašo objavljeno aplikacijo pri našem API-ju vpraša, kje je posamezna stran. Vsak neuspešen odgovor – kratka napaka strežnika, prekinjena povezava – je prej pomenil „ta stran ne obstaja“ in je prikazal stran brez povezave. Čez sekundo je osveževanje že delovalo, kar je bilo zmedeno.

Zdaj kot „ni najdeno“ šteje samo pravi odgovor „not found“:

  • Vsaka druga napaka se še enkrat poskusi.
  • Če tudi to ne uspe, robni del postreže stran iz zadnjega znanega dobrega odgovora, največ eno uro.
  • Šele če nikoli ni dobil odgovora, prikaže stran „začasno ni na voljo“ – nikoli „ni najdeno“.

Lastne domene tudi sprašujejo naša produkcijska in testna okolja vzporedno, tako da počasen testni strežnik nikoli ne zadrži produkcijske domene.

3. Ustavljena aplikacija pove, da je ustavljena

Objavljene aplikacije tečejo na vašem stanju kreditov. Ko ti zmanjka, se aplikacija ustavi, dokler ne dopolnite stanja – ko to storite, se sama znova zažene. Ustavljena aplikacija pa je prej izgledala popolnoma enako kot izbrisana.

Zdaj obiskovalec ustavljene aplikacije vidi „This app is paused“ z možnostjo vrnitve za lastnika, odgovor pa nikoli ni predpomnjen, zato je aplikacija dostopna takoj, ko jo nadaljujete. Če je aplikacija nedosegljiva iz drugega razloga, obiskovalci vidijo „This app isn't available“ – brez razlage, zakaj.

Zakaj je to pomembno

Objavljena aplikacija je nekaj, kar ste delili: v povezavi v opisu, na vizitki, pri prvih strankah. Mora se obnašati kot prava spletna stran – ostati dosegljiva med izboljšavami, prenesti kratko motnjo in biti pošten, ko je ustavljena.

Več o objavi je v dokumentaciji: kako objaviti in omejitve gostovanja. Infrastrukturna stran iste ideje: kako smo dosegli nič napak 502 pri naših objavah.

Mythex · Pricing · Zgradite karkoli z AI · Predloge za spletna mesta in aplikacije · Mythex v primerjavi · Slovar pojmov gradnje aplikacij z AI · Brezplačna orodja za gradnjo aplikacij z 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 Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)