Ιστολόγιο

Η δημοσιευμένη εφαρμογή σας μένει πλέον σε λειτουργία ενώ την ξαναδημοσιεύετε

Όταν ξαναδημοσιεύετε μια εφαρμογή στο Mythex, ο ζωντανός ιστότοπός σας συνεχίζει πλέον να σερβίρει την προηγούμενη έκδοση μέχρι να είναι έτοιμο το νέο build, και μετά αλλάζει. Πριν από αυτή την αλλαγή, μια ξαναδημοσίευση έκλεινε τον ιστότοπο για όλη τη διάρκεια του build. Οι επισκέπτες έβλεπαν «Αυτή η δημοσιευμένη εφαρμογή είναι εκτός λειτουργίας ή ο σύνδεσμος δεν βρέθηκε» για ένα λεπτό περίπου, και μετά η ίδια σελίδα δούλευε ξανά με ανανέωση. Διορθώσαμε επίσης δύο ακόμα τρόπους με τους οποίους μια ζωντανή εφαρμογή μπορούσε λανθασμένα να φαίνεται εκτός λειτουργίας.

1. Η ξαναδημοσίευση δεν κλείνει πλέον τον ιστότοπό σας

Πίσω από τις σκηνές, κάθε δημοσιευμένη εφαρμογή έχει μια εγγραφή που λέει ποιο build να σερβίρεται. Μια ξαναδημοσίευση χρησιμοποιούσε ξανά αυτή την εγγραφή και τη σημείωνε ως «σε build» για όλη τη διάρκεια — και το μέρος του δικτύου μας που δρομολογεί τους επισκέπτες σέρβιρε μόνο εγγραφές σημειωμένες ως «ζωντανές». Έτσι, κάθε ξαναδημοσίευση έκανε τον ιστότοπο να εξαφανιστεί μέχρι να τελειώσει το build. Το αναπαραγάγαμε σε μια μικρή δοκιμαστική εφαρμογή: περίπου 50 δευτερόλεπτα εκτός λειτουργίας ανά ξαναδημοσίευση.

Τώρα, όταν μια ξαναδημοσίευση ξεκινά σε εφαρμογή που είναι ήδη ζωντανή, η εγγραφή θυμάται ότι υπάρχει προηγούμενο build και συνεχίζει να δείχνει σε αυτό. Το δίκτυο σερβίρει το προηγούμενο build όσο χτίζεται το νέο, και ο δείκτης μετακινείται στο νέο build μόνο όταν αυτό πετύχει. Αν το νέο build αποτύχει, οι επισκέπτες σας δεν το καταλαβαίνουν — η παλιά έκδοση απλώς παραμένει στον αέρα.

Η πρώτη δημοσίευση μιας εφαρμογής, ή η ξαναδημοσίευση μιας εφαρμογής που ήταν σε παύση ή αποδημοσιευμένη, εξακολουθεί να γίνεται ζωντανή μόνο όταν ολοκληρωθεί το build — δεν υπάρχει προηγούμενη έκδοση να σερβιριστεί.

2. Ένα σύντομο πρόβλημα δεν φαίνεται πλέον ως «δεν βρέθηκε»

Η υπηρεσία μπροστά από την εφαρμογή σας ρωτά το API μας πού βρίσκεται κάθε ιστότοπος. Μέχρι τώρα, κάθε μη επιτυχημένη απάντηση — ένα στιγμιαίο σφάλμα διακομιστή, μια διακοπή σύνδεσης — θεωρούνταν «αυτός ο ιστότοπος δεν υπάρχει», και εμφανιζόταν η σελίδα εκτός λειτουργίας. Μια ανανέωση ένα δευτερόλεπτο αργότερα δούλευε, κάτι που το έκανε μπερδευτικό.

Τώρα μόνο μια πραγματική απάντηση «δεν βρέθηκε» μετράει ως δεν βρέθηκε:

  • Κάθε άλλη αποτυχία ξαναδοκιμάζεται μία φορά.
  • Αν εξακολουθεί να αποτυγχάνει, το δίκτυο σερβίρει τον ιστότοπο από την τελευταία γνωστή σωστή απάντηση για έως μία ώρα.
  • Μόνο αν δεν έχει ποτέ απάντηση, εμφανίζει μια σελίδα «προσωρινά μη διαθέσιμο» — ποτέ «δεν βρέθηκε».

Οι προσαρμοσμένοι τομείς ρωτούν επίσης τα συστήματα παραγωγής και δοκιμών μας ταυτόχρονα, οπότε ένας αργός διακομιστής δοκιμών δεν μπορεί ποτέ να καθυστερήσει έναν τομέα παραγωγής.

3. Μια εφαρμογή σε παύση λέει ότι είναι σε παύση

Οι δημοσιευμένες εφαρμογές τρέχουν με το υπόλοιπο credits σας. Αν τελειώσουν τα credits, η εφαρμογή τίθεται σε παύση μέχρι να προσθέσετε κι άλλα — και επανέρχεται μόνη της όταν το κάνετε. Παλαιότερα, μια εφαρμογή σε παύση έμοιαζε ακριβώς με μια διαγραμμένη.

Τώρα ένας επισκέπτης σε εφαρμογή σε παύση βλέπει «Αυτή η εφαρμογή είναι σε παύση», με έναν τρόπο επιστροφής για τον ιδιοκτήτη, και η απάντηση δεν αποθηκεύεται ποτέ στην κρυφή μνήμη — οπότε η εφαρμογή είναι προσβάσιμη ξανά τη στιγμή που θα επαναληφθεί. Αν μια εφαρμογή δεν είναι διαθέσιμη για άλλον λόγο, οι επισκέπτες βλέπουν «Αυτή η εφαρμογή δεν είναι διαθέσιμη» — χωρίς να τους λέμε γιατί.

Γιατί έχει σημασία

Μια δημοσιευμένη εφαρμογή είναι κάτι που έχετε μοιραστεί: σε ένα βιογραφικό σύνδεσμο, σε μια επαγγελματική κάρτα, με τους πρώτους σας πελάτες. Πρέπει να συμπεριφέρεται σαν κανονικός ιστότοπος — να μένει στον αέρα ενώ τη βελτιώνετε, να επιβιώνει από ένα στιγμιαίο πρόβλημα, και να είναι ειλικρινής όταν είναι σε παύση.

Περισσότερα για τη δημοσίευση στα docs: πώς να δημοσιεύσετε και όρια φιλοξενίας. Και η υποδομή πίσω από την ίδια ιδέα: πώς φτάσαμε τα δικά μας deploys στο μηδέν 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 简体中文 繁體中文(香港) 繁體中文(台灣)