Jūsų publikuota programėlė dabar lieka veikianti, kol ją publikuojate iš naujo
Kai iš naujo publikuojate programėlę Mythex platformoje, jūsų gyva svetainė dabar tęsia ankstesnės versijos rodymą, kol nauja kūrimo versija paruošta, ir tada persijungia. Anksčiau iš naujo publikavimas svetainę išjungdavo visam kūrimo laikui – lankytojai maždaug minutę matydavo pranešimą „Ši publikuota programėlė neveikia arba nuoroda nerasta“, o perkrovus puslapį jis vėl veikdavo. Taip pat ištaisėme du kitus būdus, kuriais gyva programėlė klaidingai atrodydavo neveikianti.
1. Iš naujo publikuojant svetainė nebenukrenta
Už kulisų kiekviena publikuota programėlė turi įrašą, nurodantį, kurią kūrimo versiją rodyti. Iš naujo publikavimas perpanaudodavo šį įrašą ir visam kūrimo laikui pažymėdavo jį kaip „building“ – o mūsų pakraštinis tinklas, kuris nukreipia lankytojus, rodydavo tik įrašus, pažymėtus „live“. Taigi kiekvienas iš naujo publikavimas paslėpdavo svetainę, kol kūrimas baigdavosi. Mes tai atkūrėme su mažu bandomuoju projektu: apie 50 sekundžių neveikimo kiekvienam iš naujo publikavimui.
Dabar, kai iš naujo publikavimas prasideda programėlei, kuri jau veikia, įrašas prisimena, kad egzistuoja ankstesnė kūrimo versija, ir toliau į ją nukreipia. Pakraštinis tinklas rodo tą ankstesnę versiją, kol kuriama nauja, o rodyklė perkeliama į naują kūrimą tik tada, kai jis pavyksta. Jei naujas kūrimas nepavyksta, lankytojai nieko nepastebi – sena versija tiesiog lieka veikti.
Pirmas publikavimas arba iš naujo publikavimas programėlei, kuri buvo pristabdyta arba nepublikuota, vis dar tampa gyvas tik tada, kai kūrimas baigiamas – nėra ankstesnės versijos, kurią būtų galima rodyti.
2. Trumpas sutrikimas nebeatrodo kaip „nerasta“
Paslauga prieš jūsų publikuotą programėlę klausia mūsų API, kur gyvena kiekviena svetainė. Anksčiau ji bet kokį nesėkmingą atsakymą – laikiną serverio klaidą, nutrūkusį ryšį – laikydavo, kad „tokios svetainės nėra“, ir rodydavo neveikimo puslapį. Sekundę vėliau perkrovus viskas veikdavo, todėl tai buvo painu.
Dabar tik tikras atsakymas „nerasta“ laikomas nerasta:
- Bet koks kitas gedimas bandomas dar kartą vieną kartą.
- Jei vis tiek nepavyksta, pakraštinis serveris rodo svetainę pagal paskutinį žinomą gerą atsakymą iki vienos valandos.
- Tik jei jis niekada neturėjo atsakymo, rodomas puslapis „laikinai nepasiekiama“ – niekada „nerasta“.
Pasirinktiniai domenai taip pat vienu metu klausia mūsų gamybos ir bandomosios sistemų, todėl lėtas bandomasis serveris niekada nesulėtina gamybos domeno.
3. Pristabdyta programėlė sako, kad ji pristabdyta
Publikuotos programėlės veikia pagal jūsų kreditų balansą. Jei kreditai baigiasi, programėlė pristabdoma, kol papildysite, ir ji pati grįžta, kai papildote. Bet pristabdyta programėlė anksčiau atrodė visiškai kaip ištrinta.
Dabar lankytojas pristabdytos programėlės mato „Ši programėlė pristabdyta“, su grįžimo keliu savininkui, o atsakymas niekada neįrašomas į talpyklą, todėl programėlė vėl pasiekiama tą pačią akimirką, kai ją atnaujinate. Jei programėlė nepasiekiama dėl kitos priežasties, lankytojai mato „Ši programėlė nepasiekiama“ – be paaiškinimo, kodėl.
Kodėl tai svarbu
Publikuota programėlė yra tai, ką jūs bendrinate: biografijos nuorodoje, vizitinėje kortelėje, su pirmaisiais klientais. Ji turėtų elgtis kaip tikra svetainė – išlikti veikianti, kol ją tobulinate, atlaikyti trumpą sutrikimą ir būti sąžininga, kai ji pristabdyta.
Daugiau apie publikavimą dokumentacijoje: kaip publikuoti ir talpinimo apribojimai. O infrastruktūrinė ta pati idėja: kaip mūsų pačių diegimai pasiekė nulį 502 klaidų.