İçeriğe geç
getnextpdf.com

Üretim operasyonları

Bu sayfa, NextPDF’i üretime taşımak ve orada tutmak için kontrol listesidir. Kılavuzu derler: her madde, ayrıntının bulunduğu sayfaya bağlanır; böylece burada doğrular, orada okursunuz. Dağıtım öncesi kontrol listesi bölümünü ilk sürümden önce baştan sona uygulayın. İkinci gün operasyonlarının bir parçası olarak Yükseltme ritmi ve Olay triyajı giriş noktaları bölümlerini yeniden gözden geçirin.

  • Çalışma zamanını doğrulayın: NextPDF, PHP >=8.4 <9.0 gerektirir. Composer, bu aralığın dışındaki her şeyi reddeder. Bkz. Kurulum.
  • php -m ile altı gerekli uzantıyı doğrulayın: ext-mbstring, ext-zlib, ext-intl, ext-gd, ext-curl ve ext-openssl. Kurulum sayfası, her birinin ne yaptığını açıklar.
  • Tek seferlik bir ortam denetimi için vendor/bin/nextpdf doctor çalıştırın (PHP sürümü, uzantılar ve font kullanılabilirliği tek bir raporda).
  • Donanımı boyutlandırmadan önce işleme yolunuza karar verin. Süreç içi işlem hattı (writeHtml()) ek bir hizmet gerektirmez. Artisan, Gotenberg ve Cloudflare’in her biri, çalıştırmanız için bir tarayıcı veya ağ hizmeti ekler. Karar vermek için Yolunuzu seçin sayfasını kullanın.
  • Bir işleyici köprüsü seçtiyseniz, yayına almadan önce onun güvenlik ve operasyon sayfasını okuyun. Bkz. İşleyici yüzeyini sağlamlaştırma.
  • Yalnızca işlediğiniz fontları derleme zamanında paketleyin, başka hiçbir şeyi değil. Bkz. Üretimde font sağlama.

Ortalamaya göre değil, ürettiğiniz en büyük belgeye göre boyutlandırın. getPdfData(), Portable Document Format (PDF) belgesinin tamamını bellekte oluşturur ve tek bir string olarak döndürür.

  • Çalışan veya işlev belleğini serverless boyutlandırma rehberinden ayarlayın: birkaç sayfalık bir belge için 512–1024 MB rahatlıkla yeterlidir; görsel ağırlıklı veya çok sayfalı belgeler daha fazlasına ihtiyaç duyar.
  • Zaman aşımlarını, en kötü durum oluşturma süresinin üzerinde, pay bırakarak ayarlayın. Aşırı büyük işleri nesne depolamaya yazan asenkron bir kuyruğa taşıyın — aynı boyutlandırma bölümü bu deseni gösterir.
  • Uzun ömürlü çalışanlarda, zaman damgası doğrulaması kapalı olacak şekilde opcache’i etkinleştirin. Docker tarifinin opcache bölümü üretim ini değerlerini içerir.
  • Bellek veya iş hacmi lansmandan sonra kayarsa, belirtiden kaldıraca karar tablosundan başlayın.

Bir Document tek kullanımlıktır. Onu oluşturun, bir kez yazın ve kapsamdan çıkmasına izin verin; her istek için veya her kuyruk işi için yeni bir örnek oluşturun. Yalnızca süreç ömrü kayıtlarını — FontRegistry ve ImageRegistry — çalışan başlatılırken bir kez oluşturarak paylaşın. Bu, PHP-FPM’in, kuyruk çalışanlarının ve uzun süre çalışan uygulama sunucularının istek başına, iş başına modeliyle eşleşir.

HTML’yi güvenilmez olarak değerlendirin, özellikle kullanıcı etkisindeki her şeyi. Yolunuzu seçin sınırı belirtir: varsayılan olarak yerleşik işlem hattı hiçbir script çalıştırmaz ve hiçbir uzak kaynak getirmez; her köprü ise bir tarayıcı veya bir ağ hizmeti üzerinden işler. Bir köprüyü üretim trafiğine açmadan önce onun güvenlik ve operasyon sayfasından geçin:

NextPDF hiçbir hizmet düzeyi hedefi (SLO) yayımlamaz; kendinizinkini aşağıda ölçtüğünüz işleme süresi ve bellek metriklerinden türetin.

İşleme yolunu ilk olaydan önce enstrümante edin, sonrasında değil.

  • Sürüm destek politikasını bir kez okuyun, ardından sürümleri ona bağlı tutun. Semantik sürümleme sözleşmesini, kararlılık etiketlerini, kullanımdan kaldırma yaşam döngüsünü ve bu kılavuzun kullandığı yaşam döngüsü sözcük dağarcığını (active, lts, maintenance, frozen, eol) tanımlar.
  • Dağıtılan her çalışanın aynı motor sürümünü çözümlemesi için composer.lock dosyasını commit’leyin — kurulum sayfası bu disiplini belirtir.
  • Her sürüm yükseltmesinden önce değişiklik günlüğünü inceleyin.

Bir işleyici köprüsü olayı için (bir Chrome çökmesi, bir Gotenberg kesintisi, bir edge işleme hatası), İşleyici yüzeyini sağlamlaştırma içinde o köprünün hata modları bölümünden başlayın.