Eklentimiz FlexTable, Google AppsScript üzerinden bir Google sayfasından verileri ve sayfanın dışa aktarma URL'sini CSV formatında getirir. Google sayfasında değişiklikler yapıldığında, bu güncellemeler dışa aktarılan CSV dosyasına yansıtılır. Ancak, WordPress sitenizdeki güncellenmiş verileri görüntülemek için, eklentinin en son CSV dosyasını alması ve bir tablo biçiminde işlemesi gerekir.
Bu işlem, güncellenen verileri getiren ve ayrıştıran Google Lets dışa aktarma URL'sine yeni bir istekle başlatılır. Bu veri getirme işlemini tetiklemek için sayfa yenilenmelidir. Bir sayfa yeniden yükleme, eklentinin en güncel verileri çekmesini ve doğru şekilde görüntülemesini sağlar. Bu yenileme olmadan, eklenti, güncellenmiş CSV dosyasını çekmek için yeni bir istek başlatması gerektiğinden, modası geçmiş bilgileri göstermeye devam edebilir.
Neden gerçek zamanlı senkronizasyon değil? #
Google AppsScript bir istek yanıt modeli etrafında oluşturulmuştur ve gerçek zamanlı, kalıcı bağlantıları veya verilerin canlı akışını desteklemek için tasarlanmamıştır. Eklenti verileri her getirdiğinde, Google sayfasına bir istek gönderir ve yanıtı işler. Bu yaklaşım, güncellenmiş verileri almak için geçerli olmakla birlikte, değişikliklerin canlı senkronizasyonuna izin vermez. İşte gerçek zamanlı senkronizasyonun mümkün olmamasının bazı nedenleri:
- Yürütme Süresi Sınırları: Google AppsScript yürütmelerinin genellikle 6 dakikalık bir zaman sınırı vardır. Gerçek zamanlı güncellemeler için kalıcı bir bağlantının sürdürülmesi, zaman aşımına neden olabilir ve komut dosyasının istekleri başarılı bir şekilde işlemesini önleyebilir.
- Kaynak tüketimi: Güncellemeler için Google tabakalarının sürekli olarak yoklanması, değişiklikleri kontrol etmek için sık sık istekler gerektirir. Bu, performansı olumsuz etkileyebilecek ve kullanıcı deneyimini yavaşlatabilecek önemli miktarda sunucu ve istemci tarafı kaynak tüketebilir.
- Kalıcı bağlantılar için destek eksikliği: Google Sheets ve Google AppsScript, WebSockets veya gerçek zamanlı iletişim için diğer yöntemler gibi teknolojileri desteklemez. Google sayfalarına bu kadar kalıcı bağlantıların uygulanması, mevcut altyapı ile mümkün değildir.
Bir sayfa yeniden yükleme neden çalışır? #
Sayfanın yenilenmesi, Google sayfasının dışa aktarma URL'sine yeni bir HTTP isteği başlatarak veri getirme işlemini tetikler. Bu, eklentinin en son verileri almasını ve doğru bir şekilde sunmasını sağlar. Sayfa yeniden yüklemesi, bağlantı hataları, kırık yanıtlar veya ağ sorunları nedeniyle eksik veya modası geçmiş verilerin görüntülenmesi gibi sorunlardan kaçınmaya yardımcı olan bir “sıfırlama” görevi görür.
Özetle, gerçek zamanlı güncellemeler bazı durumlarda ideal olsa da, Google AppsScript'in sınırlamaları ve HTTP isteklerinin doğası, FlexTable her zaman en son verileri göstermesini sağlamak için bir sayfa yeniden yüklemesini sağlar.