Birincisi bitene kadar AJAX (prototip / php) 2 ajax işlemini çalıştıran kilitleniyor

2 Cevap php

Bu soru benim önceki bir takip olduğunu: Previous Questions.

Bu yüzden bazı kayıtları işleme başlatmak için bir ajax arama başlatmak için ben kurulum sayfam. Ve her kayıttan sonra bu sürecin durumunu takip etmek başka bir tablodaki bir satır günceller. O ilk ajax çağrısı yapıldıktan sonra, başka bir başlangıç ​​up var. Bu bir Ajax.PeriodicalUpdater ve o sadece db bu satırı sorgular ve orijinal işleminin durumunu döndüren bir dosyayı vurmak için ayarlanmıştır.

Yani bu sürece durum güncellemeleri sağlayan dosyası olarak benim şimdiki uygulamanın dışında ... mükemmel çalışıyor. Benim app içinde dosya koyarsanız, o zaman doğru çalışmıyor. Kundakçı izlemek, PeriodicalUpdater çağrı özgün ajax arama bitene kadar geri bir şey almaz, sadece dosya kapattı ve bir şey dönen değilse kadar bu kadar erteliyor.

Bütün bu uygulama bizim kullandığımız sadece temel bir çerçeve içinde çalışıyor. Çılgın bir şey, sadece yönlendirme kolları, vb temel şablon yönleri .. Yani bu işlevler / tüm dosyaları bu uygulama içinde ve tüm bu ajax çağrıları bu yönlendirilir ediliyor.

Ne böyle bir şey neden olabilir?

2 Cevap

Bu belirli bir etki alanı için concurrent connections supported by a browser sınırı nedeniyle olabilir?

Bu PHP oturum serileştirme neden olur. Oturum verileri her isteği yazmadan bittikten için PHP süreci kadar kilitli kilidi yayımlanıncaya kadar, aynı oturumda bu nedenle daha fazla istekleri sıraya.

AJAX istekleri oturum devlet erişimi gerekiyorsa, ihtiyacınız olan bilgileri okumak ve daha sonra bu kilitleri serbest bırakmak için mümkün olduğunca erken kod session_write_close() kullanın.