La teva app publicada ara es manté en línia mentre la tornes a publicar
Quan tornes a publicar una app a Mythex, el teu lloc en línia continua servint la versió anterior fins que la nova construcció és a punt, i després hi canvia. Abans d'aquest canvi, tornar a publicar tombava el lloc durant tota la construcció —els visitants veien «Aquesta app publicada no està disponible o l'enllaç no s'ha trobat» durant un minut més o menys, i després la mateixa pàgina funcionava de nou en recarregar-la. També hem arreglat dues altres maneres en què una app en línia podia semblar fora de línia per error.
1. Tornar a publicar ja no tomba el teu lloc
Darrere d'escena, cada app publicada té un registre que indica quina construcció ha de servir. Tornar a publicar reutilitzava aquest registre i el marcava com a «construint» durant tota la durada —i la part de la nostra xarxa que encamina els visitants només servia els registres marcats com a «en línia». Així que cada republicació feia desaparèixer el lloc fins que acabava la construcció. Ho vam reproduir en una app de prova petita: uns 50 segons fora de línia per republicació.
Ara, quan comença una republicació en una app que ja és en línia, el registre recorda que hi ha una construcció anterior i continua apuntant-hi. La xarxa serveix aquesta construcció anterior mentre la nova es construeix, i el punter només es mou a la nova construcció quan té èxit. Si la nova construcció falla, els teus visitants no ho noten mai: la versió antiga simplement es manté en línia.
Una primera publicació, o la republicació d'una app que estava en pausa o despublicada, encara només passa a en línia quan acaba la construcció —perquè no hi ha cap versió anterior per mostrar.
2. Una petita interrupció ja no sembla «no trobat»
El servei que hi ha davant de la teva app publicada pregunta a la nostra API on viu cada lloc. Abans tractava qualsevol resposta no reeixida —un error de servidor momentani, una connexió caiguda— com a «aquest lloc no existeix», i mostrava la pàgina de fora de línia. Un refresc un segon després funcionava, cosa que ho feia confús.
Ara només una resposta real de «no trobat» compta com a no trobat:
- Qualsevol altra fallada es torna a intentar una vegada.
- Si encara falla, la xarxa serveix el lloc des de la darrera resposta bona coneguda durant fins a una hora.
- Només si mai no ha tingut resposta mostra una pàgina de «no disponible temporalment» —mai «no trobat».
Els dominis personalitzats també consulten els nostres sistemes de producció i de staging en paral·lel, així que un servidor de staging lent mai no pot frenar un domini de producció.
3. Una app en pausa diu que està en pausa
Les apps publicades funcionen amb el teu saldo de crèdits. Si s'esgota, l'app es posa en pausa fins que hi tornes a afegir saldo —i llavors es reactiva sola. Però una app en pausa abans semblava exactament igual que una esborrada.
Ara una visita a una app en pausa veu «Aquesta app està en pausa», amb una manera de tornar per al propietari, i la resposta mai no es posa en memòria cau, de manera que l'app és accessible de nou en el moment que es reprèn. Si una app no està disponible per un altre motiu, els visitants veuen «Aquesta app no està disponible» —sense que se'ls digui per què.
Per què això importa
Una app publicada és alguna cosa que has compartit: en un enllaç de la biografia, en una targeta de visita, amb els teus primers clients. Hauria de comportar-se com un lloc web de veritat —mantenir-se en línia mentre la millores, superar una petita interrupció, i ser honesta quan està en pausa.
Més sobre la publicació a la documentació: com publicar i límits d'allotjament. I el costat d'infraestructura de la mateixa idea: com hem aconseguit que els nostres propis desplegaments arribin a zero errors 502.