Blog

Yayınlanmış Uygulamanız Yeniden Yayınlarken Ayakta Kalır

Mythex’te bir uygulamayı yeniden yayınladığınızda, canlı siteniz yeni derleme hazır olana kadar önceki sürümü sunmaya devam ediyor, sonra geçiş yapıyor. Bu değişiklikten önce, yeniden yayınlama derleme boyunca siteyi kapatıyordu — ziyaretçiler bir dakika kadar “This published app is offline or the link was not found” mesajını görüyor, sonra bir yenilemeyle aynı sayfa tekrar çalışıyordu. Canlı bir uygulamanın yanlışlıkla çevrimdışı görünmesine yol açan diğer iki yolu da düzelttik.

1. Yeniden yayınlamak siteyi artık kapatmaz

Arka planda, yayınlanan her uygulamanın hangi derlemeyi sunacağını söyleyen bir kaydı vardır. Bir yeniden yayınlama bu kaydı yeniden kullanıyor ve süresince “derleniyor” olarak işaretliyordu — ve ziyaretçileri yönlendiren kenar katmanımız yalnızca “canlı” olarak işaretlenmiş kayıtları sunuyordu. Yani her yeniden yayınlama, derleme bitene kadar siteyi ortadan kaldırıyordu. Küçük bir test uygulamasında bunu yeniden ürettik: yeniden yayınlama başına yaklaşık 50 saniye çevrimdışı.

Artık canlı bir uygulamada yeniden yayınlama başladığında kayıt, önceki bir derlemenin var olduğunu hatırlar ve ona işaret etmeye devam eder. Kenar katmanı yeni derleme inşa edilirken önceki derlemeyi sunar ve işaretçi yalnızca yeni derleme başarılı olduğunda taşınır. Yeni derleme başarısız olursa ziyaretçileriniz hiçbir şey fark etmez — eski sürüm ayakta kalır.

Duraklatılmış ya da yayından kaldırılmış bir uygulamanın ilk yayını veya yeniden yayını, derleme bitene kadar yayına girmez — gösterilecek önceki bir sürüm olmadığı için.

2. Kısa bir aksaklık “bulunamadı” gibi görünmez

Yayınlanmış uygulamanızın önündeki servis, her sitenin nerede olduğunu API’mizden soruyordu. Daha önce herhangi bir başarısız yanıtı — anlık bir sunucu hatasını, kopan bir bağlantıyı — “bu site yok” olarak görüyor ve çevrimdışı sayfasını gösteriyordu. Bir saniye sonraki bir yenileme çalışıyordu, bu da kafa karıştırıcıydı.

Artık yalnızca gerçek bir “bulunamadı” yanıtı bulunamadı sayılır:

  • Diğer her hata bir kez yeniden denenir.
  • Hâlâ başarısız olursa kenar katmanı, en fazla bir saat boyunca son bilinen iyi yanıttan siteyi sunar.
  • Hiç yanıt alamadıysa yalnızca “geçici olarak kullanılamıyor” sayfasını gösterir — asla “bulunamadı” değil.

Özel alan adları, üretim ve staging sistemlerimizi paralel sorgular; böylece yavaş bir staging sunucusu hiçbir zaman bir üretim alan adını bekletemez.

3. Duraklatılmış bir uygulama bunu söyler

Yayınlanmış uygulamalar kredi bakiyenizle çalışır. Bakiye biterse uygulama siz yeniden yükleyene kadar duraklatılır ve yükleme yapınca kendiliğinden geri gelir. Ama duraklatılmış bir uygulama, daha önce tam olarak silinmiş bir uygulama gibi görünürdü.

Artık duraklatılmış bir uygulamayı ziyaret eden kişi “This app is paused” mesajını görür; sahibi için geri dönüş yolu da gösterilir. Yanıt asla önbelleğe alınmaz, bu yüzden uygulama devam ettirildiği anda tekrar erişilebilir olur. Uygulama başka bir nedenle kullanılamıyorsa, ziyaretçiler nedenini söylenmeden “This app isn't available” mesajını görür.

Bu neden önemli

Yayınladığınız bir uygulama paylaştığınız bir şeydir: bir biyografi bağlantısında, bir kartvizitte, ilk müşterilerinizle. Gerçek bir web sitesi gibi davranmalıdır — siz geliştirirken ayakta kalmalı, bir aksaklığa dayanmalı ve duraklatıldığında bunu dürüstçe söylemelidir.

Daha fazlası dokümanlarda: nasıl yayınlanır ve barındırma limitleri. Aynı fikrin altyapı tarafı: dağıtımlarımızı nasıl sıfır 502 hatasına indirdik.

Mythex · Pricing · Yapay zekayla her şeyi yapın · Web sitesi ve uygulama şablonları · Mythex karşılaştırmaları · Yapay zekayla uygulama geliştirme sözlüğü · Yapay zekayla uygulama geliştirme için ücretsiz araçlar · 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 Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)