Sunucuda bir ajax arama çok fazla zaman alır zaman benim uygulaması ile ilgili bir sorun var: (Ben çağrı istemci tarafında iptal hala hiçbir etkisi ve kullanıcı var olduğunu fark, sunucu tarafı bitti kadar kullanıcının tüm diğerleri sorguları sıraya ) beklemek zorunda.
İşte benim test durum:
<script type="text/javascript" src="jquery-1.4.1.min.js"></script>
<a href="another-page.php">Go to another page on the same server</a>
<script type="text/javascript">
url = 'http://localserver/some-very-long-complex-query';
$.get(url);
</script>
Yani olsun ben linke, diğer sayfaya beni getirmeden önce ilk çağrıyı hizmet sunucu bitirmek üzerine tıkladıktan sonra sonra ateş ve zaman. Benim sorunum bu davranışı önlemek istiyor.
Ben bir lamba sunucu üzerinde ve ben (), o gitmek için yol sizce connection_aborted gibi kullanıcı fonksiyonu ile sorgu iptal sunucu bilgilendirmek için bir yol arıyorum? Ayrıca, bu PHP script uzun bölümü bir MySQL sorgusu olduğunu biliyorum, bu yüzden connection_aborted olduğunu bilmek bile () kullanıcı çağrıyı iptal olduğunu algılayabilir, ben hala '... MySQL sorgusu sırasında bu kontrol etmek gerekir PHP "olay" bu tür işleyebilir gerçekten emin değilim.
Yani herhangi bir fikrin varsa, bunu duymak için sabırsızlanıyorum.
Teşekkür ederim.
Update : After further investigation, I found that the problem happen only with the Symfony framework (that I omitted to precise, my bad). It seems that an Ajax call lock any other future call. It maybe related to the controller or the routing system, I'm looking into it.
Also for those interested by the problem here is my new test case : -new project with Symfony 1.4.3, default configuration, I just created an app and a default module. -jquery 1.4 for the ajax query.
İşte (benim eşsiz modülünde) benim actions.class.php olduğunu:
class defaultActions extends sfActions
{
public function executeIndex(sfWebRequest $request)
{
//Do nothing
}
public function executeNewpage()
{
//Do also nothing
}
public function executeWaitingaction(){
// Wait
sleep(30);
return false;
}
}
İşte benim indexSuccess.php şablon dosyasıdır:
<script type="text/javascript" src="jquery-1.4.1.min.js"></script>
<a href="<?php echo url_for('default/newpage');?>">Go to another symfony action</a>
<script type="text/javascript">
url = '<?php echo url_for('default/waitingaction');?>';
$.get(url);
</script>
Yeni sayfa şablonu için, çok alakalı değil ... Ama bu, benim gerçek uygulamaya ettik kilidi sorunu çoğaltmak mümkün değilim.
Başkası aynı sorunu yaşıyor?
Teşekkürler.