Kazanan oy ile görünen video aynı an değildir
Inscribi Director’ın açık deposunda zincirdeki oylama sonucu, sahne tarayıcısının video sağlayıcısına ilettiği bir yönlendirmeye dönüştürülür. Oyun sonuçlanması, sağlayıcının promptu kabul etmesi ve izleyicinin yeni video parçasını görmesi ayrı olaylardır. Tek bir “tamamlandı” bayrağı bu ayrımı saklarsa arayüz, henüz görünmeyen bir sonucu tamamlanmış gösterebilir.
İncelenen köprü bu yüzden tur, seçim, prompt metni ve artan sürüm bilgisini birlikte saklar. Aynı tur yeniden işlendiğinde mevcut kayıt döner. Önceki yönlendirme çözümlenmemişse yeni tur için yönlendirme üretmez. Bu, tekrar eden bir tur bildirimini ikinci bir üretim emrine çevirmemek için uygulama seviyesinde bir korumadır.
Bekleme durumunu görünür bir karar yap
Yeni yönlendirme önce waiting durumuyla depolanır. Sağlayıcının prompt_applied yanıtı uygulandığını, prompt_rejected yanıtı reddedildiğini bildirir. Kod eski sürüm hatasını da ret olarak ele alır. Belirsiz bir yönlendirme için operatör abandon işlemiyle bekleyişi sonlandırabilir. Son duruma ulaşmış kayda geç gelen yanıtlar yeniden karar verdiremez.
Buradaki önemli tercih, kayıp onayın otomatik tekrar gönderim başlatmamasıdır. Böylece ikinci üretim isteği yaratma riski azaltılır; fakat akışın bazen operatör kararı beklemesi kabul edilir. Bu bir ödünleşimdir. Kodun yerel tekrar kontrolü, dış sağlayıcıyla birlikte bütün sistemin mutlak “tam bir kez” yürütme garantisi verdiği anlamına gelmez.
| Gözlem | Kayıt davranışı | Ürün anlamı |
|---|---|---|
| Tur sonucu geldi | waiting olarak kaydet | Yönlendirme hazır |
| Sağlayıcı kabul etti | applied olarak sonlandır | İstek kabul edildi |
| İlgili video parçası geldi | Gösterim zamanını kaydet | Yeni sonuç için oynatma kanıtı var |
| Yanıt gelmedi | Beklemeyi koru | Sonuç hâlâ belirsiz |
| Operatör vazgeçti | abandoned olarak sonlandır | Akış bilinçli olarak devam edebilir |
Video parçası hangi kanıtı sağlar?
Köprü bir video parçasının prompt sürümünü, oynatma süresini ve tampon derinliğini işler. İlgili yönlendirme hâlâ bekliyorsa o sürümden üretilmiş parçanın gelmesi, uygulanmış durumuna geçmek için kullanılır. Beklenen gösterim zamanı, bildirilen tampon süresi hesaba katılarak saklanır. Böylece sağlayıcı onayı ile izleyicinin ekranındaki zaman çizgisi birbirinden ayrılır.
Bu kayıt, izleyicinin gerçekten ekrana baktığını ölçmez. Tarayıcının raporladığı oynatma bilgisine dayanan uygulama durumudur. İncelenen birim testleri geç gelen yanıtın etkisiz kalmasını, aynı turun iki kez yönlendirilmemesini ve ilk parçanın zamanının daha sonraki parçalarla kaymamasını örnekler. Bu yazı bu testlerin yeni bir canlı yayın provasında çalıştırıldığı iddiasında bulunmaz.
Ücretli oturum ayrı bir sınırdır
Oturum yöneticisi, canlı oturumu bir sahne sahibine bağlar; aynı denemede ikinci sağlayıcı oturumunu açmayı engelleyen bir kayıt tutar. Süre, deneme sayısı, bütçe ve sahneden gelen yaşam sinyali ayrı durdurma nedenleridir. Sunucu yeniden açıldığında kayıtta canlı görünen bir oturum kesilmiş kabul edilir; kendiliğinden yeni ücretli oturum başlatılmaz.
Kaynak kodundaki fiyat sabitleri tarihi uygulama varsayımlarıdır ve güncel sağlayıcı fiyatı gibi kullanılmamalıdır. Aynı şekilde sunucudaki durdurma kaydı ile sağlayıcının gerçek faturası ayrı kanıtlardır. Yeni bir entegrasyon bu ikisini uzlaştırmalı, ücretli yan etkinin hangi koşulda kesin olarak sona erdiğini ayrıca sınamalıdır.
Kendi entegrasyonunuza taşıyacağınız yöntem
Önce tekrar edebilen iş için sabit bir kimlik tanımlayın. Sonra dış çağrı öncesi kaydı, belirsiz sonuç durumunu ve bu durumdan çıkış yetkisini yazın. Kabul, çıktı oluşması ve çıktının kullanıcıya gösterilmesini aynı isim altında birleştirmeyin. Kaybolan yanıt, yeniden başlatma ve geç gelen mesaj örneklerini test verisine dönüştürün.
Bu yaklaşım yalnız video için geçerli değildir: dış dünyada bir sonuç üreten her entegrasyonda “tekrar dene” düğmesinin anlamını netleştirir. Inscribi Director örneğinin değeri tek bir durum makinesinin bütün sorunları çözmesi değil, belirsizliğin kodda ve operatör akışında adlandırılmış olmasıdır.